Скомпилируйте пакет компонента Delphi (место рождения) для различных версий Delphi

Ситуация следующая. Обычно я использую Studio RAD 2010 для разработки Delphi. У меня есть некоторые компоненты, которые я хотел бы перераспределить в двоичной форме (*.bpl без источника). Но я хотел бы, чтобы люди были в состоянии использовать их несмотря на свою версию Delphi. Но, например, dcu файлы может использоваться только версией компилятора, которая генерировала их. Почти та же ситуация с файлами места рождения, как я знаю. Каждый файл места рождения потребует соответствующей библиотеки VCLXX.bpl в зависимости от версии Delphi. Как я делаю свой bpls, скомпилированный в 2010, чтобы быть в состоянии использоваться в Delphi7, 2007 и т.д.?

Единственное решение состоит в том, чтобы иметь ВСЕ установленные версии Delphi и файлы места рождения компиляции отдельно в каждом?

7
задан Vladislav Rastrusny 26 January 2010 в 22:11
поделиться

4 ответа

Да, это единственное решение. Каждый компилятор производит DCUS и BPLS, специфичные для собственной версии. Единственным исключением, о которых я знаю, является то, что Delphi 2006 и 2007 поделится одним и тем же форматом.

7
ответ дан 6 December 2019 в 23:05
поделиться

Чтобы распространять скомпилированный код, который может быть использован несколькими версиями компилятора, распространяйте обычную DLL, а не BPL. Пакеты и модули зависят от версии.

Создавайте отдельные функции, которые экспортируются в стиле Си, или создавайте COM-объекты, которые регистрируются в ОС.

Однако это не обязательно должно изменять всю вашу стратегию разработки; это может быть DLL, которая использует BPL, так что вы можете сохранить всю работу, которую вы уже вложили в пакет.

3
ответ дан 6 December 2019 в 23:05
поделиться

Я могу создать установщик, который получит установленные версии Delphi на машине. Выберите для Delphi, которую вы хотите создать de bpl и вызовите корреспондента Dcc с помощью командной строки, чтобы сгенерировать корреспондентов bpl и установить их в Delphi. Вы можете посмотреть в инсталляторе JVCL, чтобы получить пример.

Att.

0
ответ дан 6 December 2019 в 23:05
поделиться

Вы можете создать файл obj в c ++ Builder и связать его в Delphi, распространить небольшой файл pas (заголовок). Формат c ++ builder obj не изменился с delphi 7 до 2009 года (я могу подтвердить 2010 год, но я думаю, что он будет таким же).

Вам нужно будет проверить, возможно ли это для визуальных компонентов / компонентов времени разработки.

1
ответ дан 6 December 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: