Проблемы Unicode преобразования Delphi

Нет. Если Вы хотите произвести единственный .exe, Вы могли бы использовать часть f# статического использования опций ссылки F# - переключатель командной строки полной справки большего количества деталей их.

16
задан 21 October 2009 в 01:03
поделиться

4 ответа

Приблизительно 10 наборов сторонних компонентов, все с исходным кодом.

Я бы добавил, что если компонент не поддерживает Delphi 2009/2010, не пытайтесь выполнить обновление это путем взлома кода.

Ниже приводится то, что я опубликовал на Как работают новые типы строк в Delphi 2009/2010? :

См. Delphi и Unicode , технический документ, написанный Марко Канто и я думаю The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), written by Joel.

One pitfall is that the default Win32 API call has been mapped to use the W (wide string) version instead of the A (ANSI) version, for example ShellExecuteA If your code is doing tricky pointer code assuming internal layout of AnsiString, it will break. A fallback is to substitute PChar with PAnsiChar, Char with AnsiChar, string with AnsiString, and append A at the end of Win32 API call for that portion of code. After the code actually compiles and runs normally, you could refactor your code to use string (UnicodeString).

1
ответ дан 30 November 2019 в 21:36
поделиться
19
ответ дан 30 November 2019 в 21:36
поделиться

You'll find some useful answers in these StackOverflow questions:

Move project from Delphi 3 to Delphi 2010

When and Why Should I Use TStringBuilder?

Convert function to delphi 2009/2010 (unicode)

Unicode problems with Delphi 2009 / 2010 and windows API calls

Also, for what it is worth, I purchased Marco Cantu's Delphi 2009 Handbook. It was all I needed to make a relatively smooth converstion from Delphi 4 to Delphi 2009 in only a few weeks.

alt text

I do, however, recommend that you ensure your 3rd party packages have a Delphi 2009 upgrade, or you may have some real difficulties. Converting your own code is one thing. Converting someone else's is another.

I use two 3rd party packages, both with source code. Both had upgrades available, and the developer of one of them wrote that he had a lot of trouble upgrading his very complex component to the Unicode of Delphi 2009. It took him a few months, but he completed it. And as a result, I had little trouble with my implementation of his component when I did my upgrade.

3
ответ дан 30 November 2019 в 21:36
поделиться

Недавно я был в таких же обстоятельствах. в основном нужно обращать внимание на «края» приложения. Файлы INI, файловый ввод-вывод, файлы журналов и т. Д. Выигрывают в вызовах API из delphi, так как теперь вместо этого они подключили вызовы API Unicode. проверьте каждый набор сторонних компонентов, чтобы убедиться, что они по крайней мере готовы к Delphi 2009 ... еще лучше 2010. даже мое использование баз данных просто не было проблемой ... почти все работало сразу. это просто не имело большого значения. все, что зависит от размера символа, должно быть пересмотрено.

на самом деле наибольшее беспокойство вызывает переход 2007_or_earlier -> 2009_or_later.

об этом много обсуждений / записей в блогах. вы могли читать, читать, читать ... или вы могли начать и посмотреть, что происходит. (я сделал и то, и другое). я уверен, что есть "переполнение стека" вопросы обсуждения вашего вопроса. я не претендую на то, чтобы дать подробное описание того, что могло произойти.

это просто не так страшно, как кажется.

1
ответ дан 30 November 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: