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

Вниз

Инициализация СОМ-объекта в потоке   Найти похожие ветки 

 
Magellan ©   (2002-11-11 12:29) [0]

Добрый день! Подскажите пожалуйста , как работать с COM-объектом в потоке. При вызове Create выдается следующая ошибка: raised exception class EOleSysError with message "CallInitialize has not been called" . При вызове этой функции не в потоковом модуле все работало.


 
Marcus   (2002-11-11 12:37) [1]

CoInitialize нужно вызывать вначале каждого потока, в котором есть другие вызовы COM. Так уж этот COM устроен...


 
Magellan ©   (2002-11-11 12:56) [2]

А как это сделать?


 
Magellan ©   (2002-11-11 13:54) [3]

Подъем темы. Мастера , помогите плз, горю


 
Zelius ©   (2002-11-11 14:01) [4]

прям так и вызываешь CoInitialize(...)


 
VaS ©   (2002-11-11 14:11) [5]

В начале метода Execute() пишем CoInitialize(nil), в конце - CoUninitialize(). Если к тому же нужно обрабатывать вызовы COM (например, callback через IConnectionPoint), для объектов, созданных в этой нитке, то нужно в цикле выбирать windows-сообщения (см. MsgWaitForMultipleObject(), GetMessage(), DispatchMessage()).


 
Magellan ©   (2002-11-11 14:14) [6]

Теперь пишет CoInitialize - undeclared identifier. Как его объявлять или какой модуль прописывать в Uses?


 
VaS ©   (2002-11-11 14:17) [7]

Search->BrowseSymbol->type "coinitialize"->press <enter>


 
neXt ©   (2002-11-11 14:30) [8]

надо заюзать ActiveX.pas


 
Magellan ©   (2002-11-11 14:32) [9]

ОГРОМНОЕ СПАСИБО ВАМ! ВСЕ ЗАРАБОТАЛО.



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
14-69499
Tornado
2002-11-01 11:36
2002.11.21
HTML редактор


14-69577
Shrek
2002-11-04 23:49
2002.11.21
ну и западло


1-69284
guood
2002-11-12 10:19
2002.11.21
Как просмотреть свойства всех CheсkBox-ов на форме?


1-69326
Anar
2002-11-06 08:38
2002.11.21
Ресурсы в EXE


3-69172
Gregory
2002-10-31 18:11
2002.11.21
Подключение BDE для работы с PARADOX БД!