Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];




Вниз

Help !!! Как использовать TADO в своей DLL !!! 


foxbad   (2002-02-06 12:47) [0]

Доброго дня всем !!!
Помогите !!! Как можно использовать TADO компоненты в собственных DLL, в случае обычного доступа к данным ошибок нет.
Ошибка такая "Не был произведён вызов COInitialize".

С уважением Владимир



McSimm   (2002-02-06 13:42) [1]

Надо вызвать CoInitialize;

Каждому вызову CoInitialize должен соответствовать вызов CoUninitialize.





foxbad   (2002-02-06 13:50) [2]

Если можно поточненее, хотя бы где посмотреть, как это делается
Владимир



McSimm   (2002-02-06 14:00) [3]

Просто перед первым обращением к ADO надо вызвать
CoInitialize(nil);
Например при инициализации DLL.

А при выгрузке, соответственно CoUninitialize

Находятся эти функции:
Uses ActiveX;



foxbad   (2002-02-06 14:04) [4]

Это прописывается в апликации которая вызывает DLL?
Я попробывал при создании формы в которой есть АДО всё равно ошибка.



McSimm   (2002-02-06 14:13) [5]

Попробуйте в конце модуля где есть использование ADO:

initialization
CoInitialize( nil);

finalization
CoUninitialize;



foxbad   (2002-02-06 14:24) [6]

Извини я тебе на Асю, исходник скинул, глянь



Набережных С.   (2002-02-06 15:00) [7]

"Прописывать" нужно в коде того потока, из которого будет производиться работа, до первого обращения к сервисам COM.
Если предполагается работа из главного потока,то можно в секциях инициализации-финализации любого модуля EXE-проекта или в модуле проекта до первой и после последней строки.



foxbad   (2002-02-06 15:13) [8]

Всё понял, пропала ошибка
Большое спасибо всем !!!!
С уважением Владимир




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
3-66422           $hade                 2002-01-24 15:46  2002.02.21  
InterBase...


3-66475           Dima Kopachev         2002-01-29 01:06  2002.02.21  
Как вызвать окно ввода логина и пароля в БД


3-66462           vano1                 2002-01-25 15:01  2002.02.21  
Кодировка


1-66579           avr555                2002-02-05 19:39  2002.02.21  
Как скопировать объект?


1-66551           Dimedrol              2002-02-05 11:21  2002.02.21  
Не находится UNIT, прописанный в PATH