Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
1-100249
Николай В.
2003-03-18 12:22
2003.03.31
TDBGrid и 16 цветов видео


14-100457
{bas}
2003-03-14 18:33
2003.03.31
опять Память


3-100162
b_baranov
2003-03-12 23:22
2003.03.31
регистры клавиатуры


14-100406
Jeka
2003-03-11 14:52
2003.03.31
видел майку с надписью


7-100482
Кирюшин Андрей
2003-02-06 21:00
2003.03.31
+ более общий вопрос




   Наверх