Некоторые небольшие инструменты либо мигрируют, не требуя каких-либо изменений, либо просто исправляют юникод, чтобы запустить его.
Однако, если ваша кодовая база настолько велика, как вы объясняете, вы не должны полностью полагаться на то, что вам скажет кто-то здесь. Просто получите копию XE и загрузите код. Посмотрите, с какими проблемами вы столкнетесь, чтобы почувствовать, сколько усилий потребуется на это.
На данный момент я перенес весь свой код в XE (даже старые проекты). Я повторно использую одни и те же библиотеки в максимально возможной степени, поэтому после преобразования большинства из них «перенос» приложений с Delphi 7 на Unicode Delphi обычно представлял собой просто повторяющуюся задачу - иметь дело с обновленными интерфейсами в библиотеках или исправление ошибок и предупреждений компилятора.
Наиболее распространенные ошибки, с которыми я столкнулся:
Unicode материал. Это займет 90% времени. Это раздражает, если код выполняет много низкоуровневой обработки строк, но большинство проблем можно легко исправить, добавив несколько типов типов.
компилятор ругается при использовании c in ['a'..'z']
. Вы должны использовать CharInSet()
для строк Unicode.
Если вы установите ShortDateFormat, вы получите предупреждение компилятора о том, что вы должны использовать FormatSettings.ShortDateFormat. В новом коде это хорошая идея. Если вы портируете, просто проигнорируйте его изначально, если вы просто хотите начать.
Кроме того, вы, вероятно, обновите сторонние библиотеки до более новых версий, чтобы вам не приходилось переносить их самостоятельно. Для тех, кто часто меняет свои интерфейсы или работу, не редкость, поэтому я бы скачал несколько пробных версий, чтобы увидеть, что было изменено.