Вниз
Скачать: 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.025 c
2-1150013984
Urvin
2006-06-11 12:19
2006.07.02
Как узнать количество МИЛЛИсекунд с 00:00:00 01.01.1970


2-1150312638
Glivera
2006-06-14 23:17
2006.07.02
Эмуляция клика в гриде


2-1150186786
Тимофей Юрьевич
2006-06-13 12:19
2006.07.02
движение формы


2-1149857266
webpauk
2006-06-09 16:47
2006.07.02
Установить курсор на кнопку


4-1143631694
apic
2006-03-29 15:28
2006.07.02
Извлекаю иконку с помощью ExtractAssociatedIcon, как ее потом




   Наверх