Вниз
Скачать: CL | DM;

Хитро завернутый проект с кучей dll-ок   Найти похожие ветки 

 
pum5a   (2003-09-19 23:35) [0]

Здорова!
Проблемы нет, есть желание получить наставление.
Дело такое: хочу создать приложение с одной главной формой, из неё будут вызываться модули. Модули лежат в dll-ках и подключаются как плугины (их будет 20-50). В начале работы мы их находим и инициализируем (они создаются на базе расширенной формы, которая хранится в bpl-ке, которая прописана у них у всех в runtime packages). после инициализации модули передают в основную форму свою инфу (сколько там подмодулей, как они называются, иконки и т.п.), на ней создаются кнопочки (типа ide-шной Component Pallete). Да, а все модули (т.е. dll-ки) юзают статичный dll который отвечает за базы данных (там DAO какое-нть) чтоб работал только один экземпляр. Т.е. одно приложение юзает несколько длл-ок, а они все еще одну. Во всех модулях есть процедура запуска RunMe(SubModule) и RefreshMe для всех подмодулей (вызывается при смене даты или типа того). И еще будет куча TStringList-ов, в которых всякая одинаковая фигня для модулей лежит.
Вопросы такие:
1. Как из модуля передать информацию наверх, в основную форму (например запрос на смену даты). Я думаю послать broadcast message, а в основной форме поймать его и по типу мессаги вызвать нужную функцию в нужном модуле, получить результат и использовать его. Или просто передать все параметрами (если немного будет)
2. Как хранить листы с фигней (например с заказчиками) доступными для всех длл-ок в одном экземпляре (хотя конечно можно и в каждом создать по листу, но это - лишняя память и лишние обращения к БД)
3. Что в схеме моего проекта можно улучшить.


 
Тих   (2003-09-19 23:48) [1]

И в самом деле фигня. Но мысль верная.
Используй, пожалуйста, чего-нибудь стандартное, например COM и ADO. Будут тебе и модули в виде ActiveX, и события для уведомления компонентов, и единичные экземпляры в виде синглтонов, и экономия ресурсов в виде Connection Pooling-а, и классное наследование интерфейсов:
>процедура запуска RunMe(SubModule) и RefreshMe
Но я бы сперва попроектировал такую ВЕЩЬ пару месяцев :)


 
Palladin ©   (2003-09-20 00:28) [2]

эт точно...


 
pum5a   (2003-09-21 00:07) [3]

Дык уже пару месяцев проектирую, всё боюсь хреново нАчить ;)


 
jack128 ©   (2003-09-21 01:38) [4]


> Дык уже пару месяцев проектирую, всё боюсь хреново нАчить
> ;)

Начинай. ВСЕ зарание нельзя учесть, все равно по ходу придется переделовать что то..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-4041
Cr@sh
2003-09-15 18:37
2003.10.02
Война и культура...


1-3831
repo
2003-09-19 13:40
2003.10.02
Помогите разобраться с CallBack-вызовами


1-3857
drakulita
2003-09-19 09:56
2003.10.02
Время обработки


6-4027
IBSN
2003-08-01 22:19
2003.10.02
Просмотр запросов


1-3822
ДмитрийК
2003-09-19 09:12
2003.10.02
Сохранение ширины столбцов в DBGrid-е




   Наверх