Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.107 c
15-1149245537
alles
2006-06-02 14:52
2006.07.02
Интересно, кто на форуме знает язык Esperanto?


2-1150036999
Ladan
2006-06-11 18:43
2006.07.02
CopyFile


15-1149579065
Труп Васи Доброго
2006-06-06 11:31
2006.07.02
Вопрос суперзнатокам Excel


15-1149624790
DevilDevil
2006-06-07 00:13
2006.07.02
ФриЛанс (удалённая работа)


2-1150438347
Мурзилка
2006-06-16 10:12
2006.07.02
как пользоваться таймером?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский