Совместимость пакета времени выполнения delphi xe7 с delphi 7

Я создал огромный проект delphi с delphi 7.

Эта программа состоит из нескольких пакетов времени выполнения (bpl), и мы пытаемся обновить наши компоненты и исходные коды до компонентов delphi xe7, чтобы эту программу можно было скомпилировать с помощью delphi XE7.

Но поскольку это непростая программа, мы придумали сначала обновить некоторые из пакетов времени выполнения и перейти к пакетам nexts, чтобы мы могли обновлять наше программное обеспечение шаг за шагом.

Интересно, сработает ли эта идея: например,

main.exe (delphi7) + bpl1 (delphi7) + bpl2 (delphi7) + ... + bpl9 (delphi xe7) + bpl10 (delphi xe7)

кто-нибудь пробовал эти способы?


person Na JongWoon    schedule 17.02.2015    source источник
comment
Почему вы вообще используете пакеты?   -  person David Heffernan    schedule 17.02.2015


Ответы (2)


Пакеты времени выполнения зависят от версии компилятора. Вы не можете использовать BPL, написанные на D7, в проектах, написанных XE7, и наоборот.

person Remy Lebeau    schedule 17.02.2015
comment
Не только пакеты времени выполнения, но даже пакеты времени разработки зависят от версии компилятора. Практически любой скомпилированный модуль зависит от версии компилятора. - person SilverWarior; 17.02.2015

Возможно, было бы неплохо попытаться переместить как можно больше кода из этих пакетов времени выполнения в библиотеки динамической компоновки. Почему?

Потому что вы, вероятно, сможете без особых трудностей использовать скомпилированные библиотеки DLL Delphi 7 в Delphi XE7.

А затем вы можете обновить каждую из этих DLL до новейшей версии Delphi одну за другой.

В конце концов, это даже упростило бы процесс обновления для будущих обновлений Delphi.

person SilverWarior    schedule 17.02.2015
comment
Звучит просто. Но если какой-либо класс Delphi используется совместно модулями, это не запускается. - person David Heffernan; 17.02.2015
comment
Как насчет кодировки текста, помимо проблем с взаимодействием? Нет, это совсем не лучшая идея. - person David Heffernan; 17.02.2015
comment
Это ужасная идея. Это приводит к проблемам с ANSI / Unicode, проблемам с менеджером памяти, а также добавляет несколько новых проблем. Это также гораздо больше работы, чем просто завершить процесс обновления BPL. - person Ken White; 17.02.2015