| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Доступ к основной форме из плагина |
| Автор: Winprogrammer 17.12.2006, 11:53 |
| Привет всем!!! Есть проблем. Я вызывая из программы bpl файл. В нём есть форма. Её я создаю с родителем главной формы приложения. Как из этого плагина получить доступ ко всем формам приложения и их структуре??? Заранее спасибо! |
| Автор: Snowy 17.12.2006, 13:15 |
| Никак. Продумывай другой принцип взаимодействия. |
| Автор: Winprogrammer 17.12.2006, 17:22 | ||
Я много думал над этим. Но в итоге остановился на bpl и Вы вдруг сломали мои идеи. Как же можно по другому взаимодействовать с формой приложения из плагина? |
| Автор: Snowy 17.12.2006, 19:06 |
| Форма в плагине - подчинённый модуль. Она не должна управлять остальной программой. Если это не так, то архитектура проекта не продумана, или продумана неправильно. Если нужно дать комманду в плагин, то он должен иметь соответсвующие функции. Если нужно получить вызов из плагина, то он должен иметь соответствующие события. Сам он не должен управлять программой - программа должна управлять им. |
| Автор: Winprogrammer 18.12.2006, 14:30 | ||
Тогда в связи с этим следующий вопрос: из выше Вами изложенного следует, что нужно продумать все варианты процедур, которые понадобятся в плагине, для каждой переменной писать функцию, которая будет возвращать её значение. Моя архитектура строится по принципу изложенному Чертёнком в статье "Приложения с подключаемыми модулями (плагинами)… и Delphi", приекреплённой к теме. Если это поможет, то я пишу базу данных домашней библиотеки дисков и хочу именно туда прилепить плагины. Пока она абсолютно бесплатная и весит порядка 7,6 метров(без возможности плагинов). Пока я делаю так, что в моей системе будет три типа плагинов: плагины при сканировании диска(сканирование архивов и т.п), плагины используемые при занесении файлов в базу(например файло .cdr, *.psd и др.) и плагины интерфейса. Поэтому писать огромное количество процедур и функций как-то не хочется. А можно-ли это реализовать через технологию COM? Как это делается в инет-броузере Mozilla Firefox? Там используется полная поддержка плагинов. Есть возможность скачать исходник, но он весит проядка 200 метров. |
| Автор: Sansa 18.12.2006, 16:18 |
| Очень хорошая структура API плагинов у FAR Manager. Правда его исходники не доступны, но используя описание API можно сварганить свое PS почему-то speel-checker отметил "плагинов" и пропустил "сварганить" |