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

Вниз

использование dll в приложениях с компонентами IBX   Найти похожие ветки 

 
zorik ©   (2006-06-06 10:15) [0]

Я уже неоднократно задавал этот вопрос, но так и не получил утвердительного ответа. Планируется написание большого проэкта с кучей разнообразных расчетов, импортов-экспортов и т.д. Имеет смысл распихать функции по групах по отдельных библиотеках. Допустим на главном модуле есть компонент TIBDatabase и TIBQuery. В каждой dll-ке должна быть компонент TIBQuery, который был бы detail для TIBQuery главного модуля. В книжке, правда для BDE, видел пример, где в dll передается handle database.
Подкиньте ссылки не эту тему. Не о dll в целом. а именно примеры работы с базами данных в dll


 
DrPass ©   (2006-06-06 10:57) [1]

Хочешь толковый совет? Не делай так. Граблей с утечками памяти, кривой обработкой событий и т.д. ты просто не разгребешь. Компоненты IBX без костылей не предназначены для такой работы... хотя если тебе слишком хочется, то передавать нужно не хендл, а указатель на саму IBDatabase. И, конечно, не забывать про sharemem. Но если твое приложение хоть чуть-чуть сложнее, чем "выбрать/вставить/удалить", то лучше с этим не связываться


 
zorik ©   (2006-06-06 11:17) [2]

А как тогда поступать? Как люди поступают? Около 100 таблиц в БД, каждый день нужно что-то подправлять, изменять. Графики, расчеты и т.д. Начал проэктировать новую базу взамен старой. Хочется и приложение нормальное написать. Лепить все в одну exe-шку, пусть даже с очень грамотно раскидаными функциями по модулях, и использованием репозитория для типичных форм справочников, хотя и хорошее, но не очень эфективное решение.
А то что козни есть знаю. Пробывал.Ошибки IBUpdate не обрабатываються. Системное сообщение выдается.

Подскажите, кто делал большие проэкты как поступить!


 
ANB ©   (2006-06-06 15:23) [3]


> zorik ©   (06.06.06 11:17) [2]

Имхо - я как раз люблю большие экзешники.
Но если очень надо, то :
1. Создавать не DLL, а пакеты
2. Приложение компилять с использованием рантаймовых пакетов (и тащить всю эту кучу bpl на каждого клиента).
3. При вызове функции пакета передавать ей адрес тех объектов приложения, с которыми она должна работать. Т.е. IBDataBase как минимум.


 
Alex_A_V   (2006-06-06 19:24) [4]

А зачем так вообще делать? Разве не проще скопировать один большой экзешник, чем много маленьких дллек, да еще надо отслеживать где какие заменил, с одним файлом это легче делать. С отчетами например понятно зачем в отдельный файл выносить, можно их поправить не меняя собственно программу. А если поправил что-то в длл, то какая разница маленкую длл заменить или большой ехе? Да и то большой-то понятие относительное.


 
zorik ©   (2006-06-07 09:49) [5]

Ну что ж, спасибо. А то думал, что настоящий ламер. Надо просто аккуратно все писать и коментировать. Просто панический страх перед "большими" проектами. :-)


> С отчетами например понятно зачем в отдельный файл выносить,
>  можно их поправить не меняя собственно программу.


А насчет отчетов, я так и не понял как их вынести в отдельный файл. Не использую никаких компонентов для отчетов. Все перекидываю в ексель. Наверное имелись ввиду всякого рода "репорты".


 
mr.il ©   (2006-06-07 10:48) [6]


> А насчет отчетов, я так и не понял как их вынести в отдельный
> файл.

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


 
ANB ©   (2006-06-07 11:36) [7]


> Ну можно их вообще в эксэле делать, с подключением к базе
> прямо из него.

Можно, но и вариант автора тоже неплох, т.к. не требует таскания с программой навороченных шаблонов экселя.



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

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

Наверх




Память: 0.49 MB
Время: 0.032 c
2-1153578887
Belorus
2006-07-22 18:34
2006.08.13
Два вопроса. Классы и Изображения


15-1153045246
прек
2006-07-16 14:20
2006.08.13
Дата изготовления телефона


15-1153374659
Ega23
2006-07-20 09:50
2006.08.13
С Днём рождения! 20 июля


2-1153984150
InsaneFarmer
2006-07-27 11:09
2006.08.13
Присвоить св-ву объекту процедуру


2-1153736374
rlzz
2006-07-24 14:19
2006.08.13
ПРо поиск фаилов (Теоритеческий)