2009-10-12 2 views
1

Мне нужно создать плагин, который обновляет приложение.Как запрограммировать плагин в Windows/Delphi?

Посмотрите, у меня есть приложение-хост, но, вероятно, я обновлю его с большим количеством функций. Я работаю в Windows с Delphi 7.

В принципе, «мой плагин» должен добавить в хост-приложение 2 или 3 новых функции.

Как программировать подключаемый модуль, который вставляет новый код (новые функции) в хост-приложение без повторной компиляции?

Примечание: Я сожалею о своем английском. Мой естественный язык - испанский.

Спасибо.

+0

Дубликат http://stackoverflow.com/questions/365968/how-best-to-add-plugin-capability-to-a-delphi-program. Повторяю также ответы. – mghie

ответ

2

Here you can find an article, которые объясняют, как сделать приложение с плагинами. Вы должны использовать динамические пакеты и RTTI.

Включает в себя код первого прототипа.

С уважением и извинения за мой плохой английский тоже. P.D: Статья написана на испанском языке.

+0

Gracias hermano. Agradecido. – Yulien

+0

+1 Buen articulo Neftali. ;) – RRUZ

+0

Espero en breve añadir la segunda parte que está ya casi concluída. Un saludo. –

2

a number of Delphi Plugin Frameworks, коммерческий, а также с открытым кодом. Там определенно есть что-то, что соответствует вашим потребностям (и бюджету).

5

Один из методов, который работает достаточно хорошо, - создать COM-объекты для ваших плагинов. Преимущество этого подхода в том, что плагины могут быть разработаны на других языках, отличных от Delphi (хотя разработка com в Delphi на сегодняшний день является самым простым, чем любой другой язык). Плагины COM не нужно перекомпилировать для соответствия текущей версии вашего хост-приложения, если ваш интерфейс плагина не изменится.

Я реализовал успешную архитектуру плагина COM в коммерческом продукте и разработал несколько плагинов, разработанных в Delphi 5, которые не нужно было перекомпилировать вообще. Они все еще запускаются, хотя моя заявка теперь составлена ​​против Delphi 2007/2009.

1

Для моей работы с плагинами я использую структуру JvPlugin в JVCL. В установке JVCL в папке \ examples \ JvPlugin вы можете найти несколько примеров, показывающих, как добавлять новые функции в приложение, включая добавление новых элементов меню в панель меню формы.

0

Лично я использую Hydra из Remobjects. Я позволяю мне смешивать родные и .NET-плагины.

Смежные вопросы