Компилировать пакет компонентов Delphi (bpl) для разных версий Delphi - PullRequest
7 голосов
/ 27 января 2010

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

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

Ответы [ 4 ]

7 голосов
/ 27 января 2010

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

3 голосов
/ 27 января 2010

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

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

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

1 голос
/ 29 апреля 2010

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

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

0 голосов
/ 27 января 2010

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

Att.

...