Главная страница
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.025 c
1-101278
Demon[DZ]
2002-10-21 18:33
2002.10.31
Что это за фигня


1-101273
HostGuy
2002-10-22 14:43
2002.10.31
Помогите новичку найти литературу по Дельфину 6 в Internet-е


4-101595
Diamond Cat
2002-09-17 01:33
2002.10.31
Регионы


14-101455
Дремучий
2002-10-10 17:30
2002.10.31
Глючит дата (год) регистрациии?


1-101353
()utLaw
2002-10-20 00:00
2002.10.31
Запуск и завершение программы принудительно.