Началось деловое затишье лета, поэтому я перешел на D2009. Я грубо определил для каждой подсистемы программы, должны ли они оставаться ascii или могут быть в кодировке Unicode, и начал портировать.
Все прошло нормально, все компоненты были в версиях D2009 (некоторые, например, VSTView, хотя и немного несовместимы), но теперь я столкнулся с проблемой, в какой-то части, которая должна оставаться неизменной, я широко использую TStringList, в основном базовая карта.
Уже есть что-то, что легко заменить, или я должен просто включить сокращенный список tistringlist, основанный на старых источниках Delphi или FPC?
Не могу представить, что я первый столкнулся с этим?
Изменения должны быть относительно локализованы, чтобы код оставался компилируемым с BDS2006, пока я прохожу траекторию проверки. Несколько ifdefs здесь и без проблем.
Конечно, string-> ansistring и char -> ansichar и т. Д. Не считаются модификациями в моем источнике, так как в любом случае я должен это сделать, и он полностью обратный.
Редактировать: я смог отработать некоторые вещи в классах чтения / записи. Это делает решение Мэйсона легче, чем я думал. Я буду иметь в виду предложение Габра как запасной вариант.
Дженерики - в значительной степени причина, по которой я купил D2009. Жаль, что они сделали его FPC несовместимым, хотя