![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MIDAS: Child RemoteDataModule в подгружаемых BPL [D6, Win2k]
mvg_first © (2002-11-12 17:23:00)Хочу написать продвинутый сервер приложений который можно настраивать за счет подключения плагинов. Под плагинами я подразумеваю BPL который подключаю к основному приложению. (технологию использования BPL как плагинов - взял с сервера delphikingdom).
Так же в справке по MIDAS-у вычитил что можно создавать дочерние модули данных и получать к ним доступ через базовый модуль данных. С этим вроде бы вопросов нет, - если все работает в одном экзшнике.
Вопрос: возможно ли дочерние модули данных хранить в подключаемых BPL-ах??? Если да то вкратце расскажите как это сделать?
mvg_first (2002-11-13 12:47:00) [21]Вообщем то, я тоже так себе представлял. Но как же тогда реализовать вариант работы с плагинами?? Может кто поделится соображениями? Ведь многие занимались подобным (я так думаю).
Вопрос теперь чисто концептуальный.
Мне на ум приходит только одно, создать один Базовый RDM в котором динамически создавать всяческие DataSetProvider-s, и сами датасеты, а в плагины при подключении передавать указатель на эту RDM??? Т.е. плагины будут создавать TADOQuery связываеть его с TDataSetProvider-ом. А клиентское приложение будет через жестко-специфицированные методы получать информацию о каждом конкретном DSP.
Такое будет работать???
Если я в чем то ошибаюсь - просветите плиз.
Marcus (2002-11-13 11:47:00) [22]Боюсь, тут все не так просто. Ведь когда пишешь COM-сервер, в проекте одна библиотека типов TLB и прописаны все серверные интерфейсы на этапе компиляции, т.е. серверу и клиенту они заведомо известны. А ты хочешь, я так понял, динамически пополнять список этих интерфейсов? Теоретически возможно, но тогда каждый плагин сам должен быть COM-сервером (ActiveX Library), а основной сервер (exe) выступает в роли клиента по отношению к ним, т.е. является посредником между клиентом и плагинами. Соответственно, в этом случае нельзя использовать раннее связывание (DCOMConnection), т.к. список guid"ов может пополняться. Ничего более умного в голову пока не приходит :)
mvg_first (2002-11-13 10:47:00) [23]Господа? Никто не работал с плагинами? Или так как я хочу задачи не решаются? Отзовитесь пожалуйста.