Delphi плагин рамки - PullRequest
       27

Delphi плагин рамки

12 голосов
/ 20 августа 2010

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

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

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

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

Ответы [ 5 ]

8 голосов
/ 20 августа 2010

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

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

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

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

1 голос
/ 20 августа 2010

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

0 голосов
/ 05 ноября 2011

Вы смотрели на http://www.tmssoftware.com/site/tpf.asp

0 голосов
/ 20 августа 2010

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

0 голосов
/ 20 августа 2010

Я бы посмотрел на Гидру из Ремобъектов.

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

...