Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.02;
Скачать: 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 вся ветка

Текущий архив: 2003.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
11-3811
D.V.K
2003-01-23 08:06
2003.10.02
Как правильно работать с немодальными формами


3-3774
Gorlum
2003-09-10 22:55
2003.10.02
Помогите начать


4-4161
SergeySEM
2003-07-29 12:58
2003.10.02
Всем профи про EM_EXLIMITTEXT


3-3795
Xmen
2003-09-12 16:37
2003.10.02
Криллица где оно?


1-3880
Хой
2003-09-17 16:51
2003.10.02
Как отловить адрес... (WWW)