Показать сообщение отдельно
  #4  
Старый 20.08.2019, 19:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, очень большой разницы нет (если код написан грамотно).
В принципе, есть 2 момента, которые надо учитывать:
1. Поддержка Unicode. Если правильно помню, то с версии то ли 2007, то ли с 2009 строки и символы по умолчанию стали юникодными. Соответсвенно, может потребоваться некоторое изнменение кода, что-то типа использования AnsiString вместо просто String.
2. Поддержка 64-битной компиляции, вроде, начиная с версии XE2. Т.е. если используются нативные типы (NativeInt), они имеют разный размер в зависимости от компилятора. Еще лично столкнулся, что Enum, прекрасно работающий с API функциями в 32-битной версии не работает в 64-битной.
Есть еще разные особенности, типа имен модулей, ClassHelper'ов и новых типов данных, но это обычно при портировании вниз. Что-то правится, что-то правится тяжело, что-то просто невозможно поправить и придется полностью переписать. Но это если такие фичи используются.
Короче, обычно, если не используются дополнительные библиотеки, портирование вверх проходит достаточно просто, портирование вниз может потребовать доработок. В каждом конкретном случае надо смотреть.
Ответить с цитированием