Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

DLL и текущий Database   Найти похожие ветки 

 
mike-d ©   (2002-10-12 12:40) [0]

Подскажите, если в курсе, следующую проблем.
Задача:
Стандартная прога с БД (предоставление услуг населению), работает на 4 предприятиях. Почти у каждого из них (предприятий) свои требования к вводу платежей за какие-то услуги: одним надо чохом за все, другим раздельно по каждому виду услуги, третьим еще по ходу что-то рассчитывать - короче разница ощутимая. Делать универсальный диалог с массой настроек - не есть гуд. Решено вроде сделать вызов DLL с диалогом под конкретный релиз - кажется симпатично...
Проблема:
Нужно пристегнуть элементы DB этого DLL к Database из этой проги, шта бы и изменения отражались в проге тут же...
Если есть возможность, то примерчиком, плиз! Может у кого другие соображения на реализацию ввода - с удовольствием выслушаю (прочитаю, стал быть).


 
sniknik ©   (2002-10-12 14:58) [1]

универсальный диалог с массой настроек - более приемлемое решение. (по моему)
почему.
первое каждая dll с компонентами db потянет килобайт на 400-500 минимум.
второе в каждой реализации в конце концов потребуется вносить изменения, требования у заказчиков меняются ой как часто. :-(( и придется тянуть несколько програм вместо одной.
третье писать придется гораздо больше, вместо одного грамотной выборки целая dll.

DBISAM это тип СУБД?(странная какаято) если она работает с наборами данных возвращай из dll набор который присваивай компоненту в программе, как делает ADOCommand.Execute например, если возвращаемый рекордсет присвоить ADODataSet.RecordSet то связанный грид тут же отразит данные. Не пойдет?


 
mike-d ©   (2002-10-12 19:18) [2]

to shiknik
DBISAM - это движок БД аналогичный BDE, но пристегивается к EXE файлу (300К кажется) и не требует дополнительно установленных библиотек (в отличие от BDE, ADO, далее по списку...). Быстродействие то же, где-то чуть быстрее, где-то медленнее, не суть. Не рушит первичные индексы в отличие от BDE, корректна при сбоях, ну и далее информация на www.elevatesoft.com
Теперь по теме:
- размер dll роли не играет;
- изменения в реализации придется вносить в dll конкретного заказчика, а не наворачивать дополнительные настройки в универсальный диалог ввода;
- программа остается все-таки одна, а вызов нужной dll делается в настройке.

DBISAM фукциональный аналог BDE. Как сделать чтоб DBEdit"ы из DLL оповещали TTable вызывающей проги о изменениях?



 
sniknik ©   (2002-10-12 22:25) [3]

получается форму будеш в dll-и делать. дополнительно еще хх килобайт на каждую, но если неважно...
Если подчиненная форма в Dll будет сделана от родительского окна то она будет аналогична том что обьявлены в программе. (во всяком случае не вижу различий). А между формами пожалуй все делали ссылки.
т е вся проблема сводится к созданию формы
TFormDll:= TForm.Create(self) (значение self из программы передать)
и присвоению
DBEdit1.DataSource := DataSource1;
а то что один компонент обьявлен в dll другой в программе нет.

это конечно теоретически, практически такими извращениями не занимался. можно попробовать, только конкретно где какой компонент тебе нужен? и поменьше для примера.


 
dim- ©   (2002-10-12 23:09) [4]

А в чем проблемма? Если в dll будет форма для ввода данных в БД то после ее вызова делается рефрешь таблицы и данные обновляются. Если все равно на размер dll то в него можно можно поместить Ttable(Tqwery) и при открытии передовать путь к БД и номер текущей записи если ее надо редактировать или -1 если запись новая.


 
sniknik ©   (2002-10-13 01:16) [5]

да уж действительно проблемы нет. зря только время потерял. все замечательно передается по DataSource1 см. меня же (12.10.02 22:25).


 
mike-d ©   (2002-10-13 09:45) [6]

It"s, OK!
Всем спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-101376
Ерик
2002-10-21 11:22
2002.10.31
Немодальную форму сделать модальной?


3-101067
AlGin
2002-10-11 22:36
2002.10.31
ROLE+BDE+InterBase


3-101135
Kurt
2002-10-10 11:36
2002.10.31
Как передавать параметры в ADOQuery если несколько параметров в з


3-101076
BorisUK
2002-10-14 08:27
2002.10.31
Сортировка кешированного набора данных


6-101432
Kotik
2002-08-27 01:51
2002.10.31
Как узнать стоит ли на компе какой нибудь FireWall?