Плагин для Delphi
Я хочу создать платформу плагина Delphi. Существует три варианта:
1. DLL
2. BPL
3. COM-интерфейс
У каждого варианта есть некоторые недостатки.
DLL - Promblem с использованием MDI, формы из плагина не могут быть включены в приложение exe-mdi хоста.
BPL - Каждый плагин *.bpl и *.exe хост-приложение должны быть скомпилированы с той же версией Delphi.
COM-интерфейсы {xxx-xx-xxx-xx} должны быть зарегистрированы в системе, (regsvr). Таким образом, инфраструктура плагина не может быть переносимой!
Является ли все правдой то, что я написал выше? Если нет, пожалуйста, поправьте меня, или есть какая-то другая возможность?
спасибо
Ответы
Ответ 1
Да, то, что вы написали, верно. Все они имеют преимущества и недостатки, вопрос в том, что важно для вас, вы не сказали, что хотите, поэтому мы не можем сказать вам, как это сделать.
В общем, я бы выбрал BPL по умолчанию, используйте DLL, если вам нужно использовать его из приложений, отличных от Delphi, и выберите COM только в том случае, если вам действительно нужно.
Альтернативой является не создание собственного, так как доступно несколько плагинов Delphi.
Кроме того, этот вопрос обсуждался здесь раньше, проверьте:
Ответ 2
Другая возможность заключается в использовании интерфейса сценариев, например Python или Pascalscript. Есть много преимуществ для этого подхода, не в последнюю очередь из того, что источник плагина также является исполняемым, что упрощает отладку и совместное использование.
Ответ 3
Я бы посмотрел Hydra из Remobjects.
Другим кандидатом будет комбинация PaxCompiler (скриптинг) и EControl Form Designer (конструктор форм).
Ответ 4
Мы используем библиотеки DLL, даже если вы используете только приложение Delphi.
Формы Dll встроены в основную форму и используют вкладки вместо MDI.
Для нормальной работы DLL мы также используем диспетчер разделяемой памяти и создаем пакеты времени выполнения: vcl, rtl и наш собственный пакет.
Ответ 5
Вы взглянули на http://www.tmssoftware.com/site/tpf.asp