Re: bpl, как плагин и связь с основной программой
От: matvienko Украина http://www.aquapack.com/ http://www.PlainCAD.com/
Дата: 09.11.09 16:46
Оценка: 1 (1)
Мой совет — когда уровни взаимодействия плагинов и основной программы заранее нельзя четко определить и взаимодействие может быть очень сложным, то в этом случае, на мой взгляд, лучшее решение — встраивать в программу какую нибудь скриптовую машину, например тот же FastScript и выполнять "позднее связывание" на скриптах, которые сами по себе могут быть очень просты.

При таком подходе нужно экспортировать в скриптовую машину возможные интерфейсы (классы, объекты, переменные, функции) основной программы. Загружаемые плагины должны при инициализации выполнять экспорт своих интерфейсов в скриптовую машину, которая конечно же должна быть общей у программы и плагинов. После чего можно загрузить и выполнить скрипт инициализации программы, который и выполнит необходимое связывание функционала. В этом случае нет необходимости на этапе проектирования кропотливо прорабатывать интерфейсы — все можно будет сделать потом и, главное, тонко "подстроить" программу непосредственно на клиенте.

vvu>Exe-шник вырос до 7 метров и решил я дальнейший функционал делать плагинами. Остановился на bpl после прочтения статьи Дмитрия Полщанова "Еще раз о Plugin's…", Трофимова Игоря "Подгружаемые модули (plugins) в Delphi" и других, и долгих раздумий и взвешиваний между dll и bpl.

vvu>Вопрос такой: можно ли, как-то заставить bpl видеть и работать с уже загруженным (главной прогой) модулем данных
vvu>Буду очень благодарен за помощь в этом вопросе, т.к. уж жутко лень реализовывать интерфейсы или хотя бы, если уж никак без них не обойтись, пожалуйста, подскажите их необходимый минимум.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.