У меня есть ряд приложений Win32 VCL, разработанных с помощью C ++ Builder начиная с BCB5 и далее, и я хочу перенести их в ECB2009 или как он там сейчас называется.
Некоторые из моих приложений используют старые компоненты Unicode TNT / TMS, поэтому у меня есть хорошее сочетание AnsiStrings и WideStrings во всем коде. В новой версии представлен UnicodeString и несколько #defines, которые изменяют поведение таких функций, как c_str.
Я хочу изменить свой код таким образом, чтобы он был как можно более обратно совместим, чтобы при необходимости можно было скомпилировать и запустить ту же самую базу кода (не в юникодном режиме) на BCB2007.
Особые проблемные области:
- Передача строк в / из Win32 API
Функции
- Взаимодействие с TXMLDocument
- Необработанные строки, используемые для связи RS232 и т. Д.
Вместо того, чтобы вносить изменения, я ищу рекомендации, которые можно применить, чтобы упростить миграцию, сохраняя при этом обратную совместимость, где это возможно.
Если таких руководств уже не существует, может быть, мы сможем сформулировать их здесь?