![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Help !!! Как использовать TADO в своей DLL !!! [D5, Win2k]
foxbad © (2002-02-06 12:47:00)Доброго дня всем !!!
Помогите !!! Как можно использовать TADO компоненты в собственных DLL, в случае обычного доступа к данным ошибок нет.
Ошибка такая "Не был произведён вызов COInitialize".
С уважением Владимир
foxbad (2002-02-06 15:13:00) [1]Всё понял, пропала ошибка
Большое спасибо всем !!!!
С уважением Владимир
Набережных С. (2002-02-06 15:00:00) [2]"Прописывать" нужно в коде того потока, из которого будет производиться работа, до первого обращения к сервисам COM.
Если предполагается работа из главного потока,то можно в секциях инициализации-финализации любого модуля EXE-проекта или в модуле проекта до первой и после последней строки.
foxbad (2002-02-06 14:24:00) [3]Извини я тебе на Асю, исходник скинул, глянь
McSimm (2002-02-06 14:13:00) [4]Попробуйте в конце модуля где есть использование ADO:
initialization
CoInitialize( nil);
finalization
CoUninitialize;
foxbad (2002-02-06 14:04:00) [5]Это прописывается в апликации которая вызывает DLL?
Я попробывал при создании формы в которой есть АДО всё равно ошибка.
McSimm (2002-02-06 14:00:00) [6]Просто перед первым обращением к ADO надо вызвать
CoInitialize(nil);
Например при инициализации DLL.
А при выгрузке, соответственно CoUninitialize
Находятся эти функции:
Uses ActiveX;
foxbad (2002-02-06 13:50:00) [7]Если можно поточненее, хотя бы где посмотреть, как это делается
Владимир
McSimm (2002-02-06 13:42:00) [8]Надо вызвать CoInitialize;
Каждому вызову CoInitialize должен соответствовать вызов CoUninitialize.