Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизХитро завернутый проект с кучей 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c