Переход с Delphi7 на Delphi XE или 2010 для Unicode? - PullRequest
6 голосов
/ 12 ноября 2010

ive сервер новостей. Построен на Delphi7, использует Indy9 TIdTCPServer, а клиенты используют TClientSocket от ScktComp для размера, и трафик шифруется в RC4 (строка)

, что именно мне нужно, чтобы мойприложение работает на XE или 2010 с поддержкой Unicode?что из этого мне придется изменить?

Ответы [ 3 ]

5 голосов
/ 12 ноября 2010

Unicode появился в Delphi 2009, поэтому, если вам нужна поддержка Unicode, вы можете сделать это с Delphi 2009.

Но если вы собираетесь обновиться, получите самую последнюю версию, вы можете получить все преимущества Delphi 2010 с меньшим количеством ошибок и большим количеством сторонних инструментов, поставляемых в комплекте с Delphi XE.

другая проблема, с которой вы можете столкнуться, это перевод между Indy 9 и Indy 10, потому что поддержка Unicode добавлена ​​в Indy 10, но она не на 100% совместима с Indy 9.

Я предлагаю вам попробовать скомпилировать ваше приложение с Delphi 7 и Indy 10, а затем перейти к Delphi XE с Indy 10.

0 голосов
/ 12 ноября 2010

Сначала вам нужно позаботиться о STRINGS по умолчанию. Тип STRING - WideString. Это означает, что у каждого символа есть 2 байта - для быстрой миграции я бы рекомендовал заменить все «строковые» вхождения на AnsiString, а затем пошагово обновлять части.кода для обеспечения поддержки Unicode.Помните, что Indy - это та часть, где вам придется много работать, НО вам повезло, потому что вы можете искать ответы на свои вопросы в SO ...

0 голосов
/ 12 ноября 2010

Не знаю, поддерживается ли Indy 9 в XE и 2010 году. В Indy 10 есть улучшения, но также есть и серьезные изменения.Перемещение двоичных данных в строки, IMHO, никогда не будет хорошим выбором, но в зависимости от ситуации может потребоваться незначительные изменения.Что именно вам нужно, зависит от кода вашего приложения. Трудно сказать, даже не глядя на него.Следует проверить все подпрограммы манипуляции со строками, особенно если вы используете их как низкоуровневые двоичные буферы и выбираете, какой путь лучше всего переносить их в мир Unicode.

...