Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к основной форме из плагина, Как из *.bpl получить доступ к форме 
V
    Опции темы
Winprogrammer
Дата 17.12.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 23.3.2006
Где: ::Россия.РСО-Алан ия.Владикавка

Репутация: нет
Всего: нет



Привет всем!!!

Есть проблем. Я вызывая из программы bpl файл. В нём есть форма. Её я создаю с родителем главной формы приложения. Как из этого плагина получить доступ ко всем формам приложения и их структуре???

Заранее спасибо!
--------------------
Я не понял Вашего вопроса, но я Вам на него отвечу…-----------
Uploading файлов без гемороя - это просто!!!
Winprogrammer.ifolder.ru
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 17.12.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Никак.
Продумывай другой принцип взаимодействия.
PM MAIL   Вверх
Winprogrammer
Дата 17.12.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 23.3.2006
Где: ::Россия.РСО-Алан ия.Владикавка

Репутация: нет
Всего: нет



Цитата(Snowy @ 17.12.2006,  13:15)
Никак.
Продумывай другой принцип взаимодействия.

Я много думал над этим. Но в итоге остановился на bpl и Вы вдруг сломали мои идеи. Как же можно по другому взаимодействовать с формой приложения из плагина?
--------------------
Я не понял Вашего вопроса, но я Вам на него отвечу…-----------
Uploading файлов без гемороя - это просто!!!
Winprogrammer.ifolder.ru
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 17.12.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Форма в плагине - подчинённый модуль.
Она не должна управлять остальной программой.
Если это не так, то архитектура проекта не продумана, или продумана неправильно.
Если нужно дать комманду в плагин, то он должен иметь соответсвующие функции.
Если нужно получить вызов из плагина, то он должен иметь соответствующие события.
Сам он не должен управлять программой - программа должна управлять им.
PM MAIL   Вверх
Winprogrammer
Дата 18.12.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 23.3.2006
Где: ::Россия.РСО-Алан ия.Владикавка

Репутация: нет
Всего: нет



Цитата(Snowy @ 17.12.2006,  19:06)
Форма в плагине - подчинённый модуль.
Она не должна управлять остальной программой.
Если это не так, то архитектура проекта не продумана, или продумана неправильно.
Если нужно дать комманду в плагин, то он должен иметь соответсвующие функции.
Если нужно получить вызов из плагина, то он должен иметь соответствующие события.
Сам он не должен управлять программой - программа должна управлять им.

Тогда в связи с этим следующий вопрос: из выше Вами изложенного следует, что нужно продумать все варианты процедур, которые понадобятся в плагине, для каждой переменной писать функцию, которая будет возвращать её значение.

Моя архитектура строится по принципу изложенному Чертёнком в статье "Приложения с подключаемыми модулями (плагинами)… и Delphi", приекреплённой к теме. Если это поможет, то я пишу базу данных домашней библиотеки дисков и хочу именно туда прилепить плагины. Пока она абсолютно бесплатная и весит порядка 7,6 метров(без возможности плагинов). Пока я делаю так, что в моей системе будет три типа плагинов: плагины при сканировании диска(сканирование архивов и т.п), плагины используемые при занесении файлов в базу(например файло .cdr, *.psd и др.) и плагины интерфейса.

Поэтому писать огромное количество процедур и функций как-то не хочется.
А можно-ли это реализовать через технологию COM?
Как это делается в инет-броузере Mozilla Firefox? Там используется полная поддержка плагинов. Есть возможность скачать исходник, но он весит проядка 200 метров.  smile

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  ___________.rar 56,59 Kb
--------------------
Я не понял Вашего вопроса, но я Вам на него отвечу…-----------
Uploading файлов без гемороя - это просто!!!
Winprogrammer.ifolder.ru
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Sansa
Дата 18.12.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 18.10.2006
Где: Королев

Репутация: 3
Всего: 6



Очень хорошая структура API плагинов у FAR Manager. Правда его исходники не доступны, но используя описание API можно сварганить свое

PS почему-то speel-checker отметил "плагинов" и пропустил "сварганить" smile
--------------------
- Здравствуйте, я Ваш патологоанатом
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.