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

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



Память: 0.46 MB
Время: 0.045 c
2-1150091357
QuickReport
2006-06-12 09:49
2006.07.02
Установить QuickReport в D7?


2-1149778397
Vasiliy
2006-06-08 18:53
2006.07.02
Как установит Increment для TrackBar ?


2-1150309492
Skype
2006-06-14 22:24
2006.07.02
создание события


15-1149513333
oldman
2006-06-05 17:15
2006.07.02
Нужен совет (не могу пока найти онколога)... :(


1-1148481266
harddrive_tester
2006-05-24 18:34
2006.07.02
Тестирование жёсткого диска




   Наверх