Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поместить DataModule в DLL? И потом с ним работать? [D5, MSSQL]


Vladimir ©   (2002-12-16 08:04:00) 

Как поместить DataModule в DLL? И потом с ним работать?
Хочу сделать прогрмму, где из одной формы можно загружать разные DLL со своими DataModule. Как сделать? Простые формы (без ADO компонентов) работают без проблем. А DataModule выдает ошибки...
:(


vovan90   (2002-12-18 16:40:00) [1]

Проблема аналогичная, решение похожее, проблема другая.
Хочу разделить работу с базой данных IB на несколько библиотек - большие и редко используемые процедуры печати и расчетов. Делаю библиотеку, в процедуру передаю указатель на TIBDatabase, в библиотеке создаю TIBQuery, разыменовываю указатель, передаю IBQuery.Database, вроде все нормально, открывается - ОК. Но иногда выскакивает ошибка [b]Declared cursor already exists.[/b] Причем периодичность появления малопредсказуема. Если же наборов данных не очень много (2-4), то ошибки нет. А если повторить вызов такой процедуры (загружал и динамически и статически) несколько раз, то почти гарантированно вывалится. IsMultiThread ставил.


asmith   (2002-12-16 13:49:00) [2]

1. Добавить стандартным образом модуль данных в DLL-проект
2. Положить на него TADOConnection (myADODLLConn)
3. После загрузки DLL и создания ее модуля данных вызвать функцию инициализации коннекции и передать в DLL ConnectionObject объекта TADOConnection главной программы и присвоить это значение myADODLLConn.ConnectionObject.
Возможны и другие варианты.


nvb   (2002-12-16 11:36:00) [3]

Господа была у меня такая проблема но только не для ADO, а для Interbase решение было такое:
1. в основной программе деляем коннект к БД
2. перадем в DLL Handle соединения


sniknik   (2002-12-16 11:26:00) [4]

не пойму откуда проблемы? просто для примера делал вызовы и из dll и обратно компонент описаных в главном модуле и наоборот в dll, передавал DataSource и т.д. (пытался под впечатлением от подобного вопроса на форуме) и все работает, не думаю что добавление DataModule както изменит ситуацию.

to Vladimir (16.12.02 08:04)
положи компонент прямо на форму, работает? нет, значит ДатаМодуль ни при чем. иши глюки.


ppcat   (2002-12-16 11:09:00) [5]

Сталкивался с той же проблемой, плюнул (отказался от DLL).
С ADO есть еще интересные вещи. Делаем класс с ADO. Все в порядке, работает. Делаем из этого класса компонент. Регистрируем компонент в палитре, кладем компонент на форму... и нихрена не получается. Какие ошибки, я уже не помню. А вот Builder вообще отказывается его в палитре регистрировать. Говорит модуль dclusr5 (или что-то в этом роде) уже загружен. ???


Reindeer Moss Eater   (2002-12-16 08:58:00) [6]

Как поместить DataModule в DLL?
File->New->DataModule

А DataModule выдает ошибки...
Устрани их источник


Наверх

Титульная страница Поиск, карта сайта Написать письмо