Подтвердить что ты не робот

Плагин для Delphi

Я хочу создать платформу плагина Delphi. Существует три варианта:
1. DLL
2. BPL
3. COM-интерфейс

У каждого варианта есть некоторые недостатки.

DLL - Promblem с использованием MDI, формы из плагина не могут быть включены в приложение exe-mdi хоста.
BPL - Каждый плагин *.bpl и *.exe хост-приложение должны быть скомпилированы с той же версией Delphi.
COM-интерфейсы {xxx-xx-xxx-xx} должны быть зарегистрированы в системе, (regsvr). Таким образом, инфраструктура плагина не может быть переносимой!

Является ли все правдой то, что я написал выше? Если нет, пожалуйста, поправьте меня, или есть какая-то другая возможность?
спасибо

4b9b3361

Ответ 1

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

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

Альтернативой является не создание собственного, так как доступно несколько плагинов Delphi.

Кроме того, этот вопрос обсуждался здесь раньше, проверьте:

Ответ 2

Другая возможность заключается в использовании интерфейса сценариев, например Python или Pascalscript. Есть много преимуществ для этого подхода, не в последнюю очередь из того, что источник плагина также является исполняемым, что упрощает отладку и совместное использование.

Ответ 3

Я бы посмотрел Hydra из Remobjects.

Другим кандидатом будет комбинация PaxCompiler (скриптинг) и EControl Form Designer (конструктор форм).

Ответ 4

Мы используем библиотеки DLL, даже если вы используете только приложение Delphi. Формы Dll встроены в основную форму и используют вкладки вместо MDI. Для нормальной работы DLL мы также используем диспетчер разделяемой памяти и создаем пакеты времени выполнения: vcl, rtl и наш собственный пакет.