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

Вниз

ADOConnect := TADOConnection.Create(Application) -> EOleSysError   Найти похожие ветки 

 
Sphinx ©   (2006-05-09 08:51) [0]

В динамическую библиотеку (.dll) передаю Application из вызывающего приложения и пытаюсь создать экземпляр TADOConnection:
ADOConnect := TADOConnection.Create(App);
на этой строке у меня почему-то выскакивает исключение EOleSysError с сообщение "не был произведен вызов CoInitialize" причем по русски (может имеет значение, Делфя сама - английская).
Если это же действие выполнить в приложении (.ехе) то ошибка не наблюдается, что я забыл учесть ???

Заранее признателен за ответ.


 
Anatoly Podgoretsky ©   (2006-05-09 09:04) [1]

Ну и почему бы не выполнить эту рекомендацию?


 
Sphinx ©   (2006-05-09 09:14) [2]

2 Anatoly Podgoretsky ©
Поверхностно пробежался по исходникам ADO и честно не понял какой именно интерфейс не вызывает CoInitialize. Дебагер ни в какую не заходит в эти исходники =(
Сейчас параллельно читаю и стараюсь понять как работает ADO, хотя бы в общих чертах и чем для него отличается .dll и .exe
Так то проблем вызвать - ни каких...но не могу найти для чего именно...


 
Anatoly Podgoretsky ©   (2006-05-09 10:10) [3]

"не был произведен вызов CoInitialize"
А нужно для того, чтобы был произведен вызов CoInitialize


 
isasa ©   (2006-05-09 11:08) [4]

Для "самодостаточности" DLL добавить в DllEntryPoint (DLL_PROCESS_ATTACH)
для
CoInitializeEx(nil, COINIT_APARTMENTTHREADED );   // STA модель
для
CoInitializeEx(nil, COINIT_MULTITHREADED );          // MTA модель

в DllEntryPoint (DLL_PROCESS_DETACH)

CoUninitialize;

в приложении, "на всякий случай" :)
...
CoInitFlags:= COINIT_APARTMENTTHREADED;   // STA модель
//или CoInitFlags:= COINIT_MULTITHREADED;          // MTA модель
Application.Initialize;
...



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
2-1150108517
inri13666
2006-06-12 14:35
2006.07.02
Закрытие ICQ


2-1149863408
itonixxx
2006-06-09 18:30
2006.07.02
DBLookupComboBOx


15-1149596109
_RusLAN
2006-06-06 16:15
2006.07.02
Как правильно назвать функцию?


8-1130929059
Provodnick
2005-11-02 13:57
2006.07.02
Проблема с тесселяцией многоугольника в OpenGL


15-1149744798
VitV
2006-06-08 09:33
2006.07.02
Умрёт ли дэлфи?