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

Вниз

ADO в DLL :(   Найти похожие ветки 

 
Fbist ©   (2003-03-11 13:48) [0]

Привет всем!
Биг трабл!
Пишу прогу по работе с БД Paradox через ADO. Появилась необходимость вынести модуль, работающий с БД в DLL. Всё сделал. Но с этого момента стала валиться строчка:
ADOConnection:=TADOConnection.Create(nil);

Ошибка такая: class EOleSysError message "Не был произведён вызов CoInitialize".

Ничего не понимаю...


 
Anatoly Podgoretsky ©   (2003-03-11 13:50) [1]

Так произведи как советуют


 
Fbist ©   (2003-03-11 13:57) [2]

Дык это фиг знает где вызывается. Какой-то скрытый метод. Прочесал АДОшные исходники - ничего не заметил. Почему-то при работе в не ДЛЛ - нормально пашет... Как-то оно должно само инициализироваться... Мож кто знает как?


 
Anatoly Podgoretsky ©   (2003-03-11 13:58) [3]

Это у тебя как раз и не вызывается, а надо


 
stone ©   (2003-03-11 14:00) [4]

В OnCreate главной формы приложения
CoInitialize(nil)


 
Anatoly Podgoretsky ©   (2003-03-11 14:08) [5]

stone © (11.03.03 14:00)
Ты думаешь у него главная форма создается в DLL?


 
Fbist ©   (2003-03-11 14:09) [6]

Ща попробую. В главной форме ЕХЕ приложения? Или при инициализации DLL? И что это процедура значит?


 
Fbist ©   (2003-03-11 14:12) [7]

У меня в принципе нет главной формы - это всё службы... Менеджеры там, контроллеры дотупа. Форм нет...
А потом они подключаются к главному приложению - там есть формы.


 
stone ©   (2003-03-11 14:19) [8]

Fbist © (11.03.03 14:12)

Но откуда то ты библиотеку вызываешь (Host Application). Вот там и пиши.


 
Fbist ©   (2003-03-11 14:29) [9]

Большой Сенькс! :)
Коннекшн создался!
Но при ADOConnection.Connected:=True;
Всё вообще зависает намертво...
Это наверное вообще головняк ещё тот... Тут КоИнитом не отделаюсь...


 
sniknik ©   (2003-03-11 14:45) [10]

+ ко всему сказаному ShareMem первым в Uses в Dll и в программу.
like
uses
ShareMem, SysUtils, Classes, ADODB;
если до сих пор не стоит
(при работе с базой без строк не обойтись, а без этого не работает)


 
Fbist ©   (2003-03-11 14:49) [11]

ShareMem - по любому написан. Это понятно :)
Но почему-то виснет. А ещё виснет при

ADOQuery.SQL.ADD("~запрос~");

Странные вещи...


 
app ©   (2003-03-11 14:53) [12]

Из за ДЛЛ у тебя будет еще много проблем.


 
Fbist ©   (2003-03-11 14:59) [13]

Да не было никаких проблем. Только с ADO запарки вышли... Может где-то надо какую-то ещё инициализацию провести?


 
sniknik ©   (2003-03-11 15:07) [14]

действительно странно, с ADO как раз ничего не должно быть.

проверь мыло, послал пример (простой, но рабочий), правда под 6 дельфи писано но по причине элементарности может и на 5 скомпилится.



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
4-100505
Acidy
2003-01-26 09:59
2003.03.31
Помогите,плз,с UpdateWindow...


3-100178
edst
2003-03-13 09:12
2003.03.31
Где находится isc4.gdb в Linux


14-100438
grrey
2003-03-13 15:13
2003.03.31
Вопрос. Как у программеров с памятью?


1-100263
Shc
2003-03-17 19:40
2003.03.31
Работа с XML


7-100497
RLucky
2002-12-20 14:15
2003.03.31
Двухсторонняя печать