Портирование приложения Unicode с поддержкой Delphi 2006 в Delphi 2009

У меня есть приложение, полностью совместимое с Unicode в Delphi 2006. Я заменил все AnsiStrings на WideStrings, заменил все элементы управления VCL на элементы управления TNT и изменил все строковые функции от AnsiStrings до WideStrings. Похоже, что вся эта работа была никчемной, потому что мне придется все это перевернуть. В любом случае, чтобы Trick Delphi 2009 подумал, что Widestrings - это UnicodeStrings?

delphi,unicode,delphi-2009,

5

Ответов: 3


13 принят

Нет, на самом деле нет. Но вы не пожалеете, что работа по-настоящему Unicode разрешает ваше приложение.

Элементы управления TNT можно легко заменить обычными элементами управления VCL. Вы можете сделать это довольно просто с помощью мастера из GExperts ( http://www.gexperts.org ), который автоматически заменяет один тип управления другим.

Затем вы можете изменить все объявления WideString на обычные строки. String теперь является псевдонимом для UnicodeString, и поэтому все ваши строки могут содержать данные Unicode просто отлично.

BTW, автор элементов управления TNT, Трой Волбринк, теперь очень предпочитает Delphi 2009 над своим собственным контролем.


0

Основное преимущество TNT Controls заключается только в том, что он может работать как программа Ansi в Windows 9x. Это не полный юникод. Если вы хотите повсеместно поддерживать всю поддержку юникода (например, Stringlist.LoadFromFile, Form.OnKeyPress), лучше перейти на Delphi 2009.


0

Я сделал то же самое в приложении, которое использовало разные XML-файлы в качестве входных данных. В моем случае я работал с UTF-8 (так что мы могли использовать регулярные строки) во всей программе и только преобразовывался в WideString для целей отображения (элементы управления TNT).

Я удалил конверсии между WideString и UTF-8 и заменил элементы управления TNT на обычные элементы управления VCL вручную, поскольку было всего несколько форм.

При проведении тестирования потребовалось около часа. Код проще, и программа заметно быстрее.

Дельфы, юникод, Дельфы-2009,
Похожие вопросы