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

Вниз

Как заставить работать COM в потоке?   Найти похожие ветки 

 
Alex_C ©   (2006-03-21 16:07) [0]

Просто в приложении работает отлично
При попытке обращения к серверу из потока выдает: "Не был произведен вызов CoInitialise"
В факах нашел что надо поставить первой строчкой
CoInitFlags := 0;
Application.Initialize;
Сделал. Не работает все равно.


 
Reindeer Moss Eater ©   (2006-03-21 16:07) [1]

>"Не был произведен вызов CoInitialise"
Дык произведи


 
MBo ©   (2006-03-21 16:09) [2]

Ну раз "Не был произведен вызов CoInitialise"
то напрашиваетсф вывод - вызвать эту функцию CoInitialize(nil)


 
Alex_C ©   (2006-03-21 16:17) [3]

Прошу прощения за тупой вопрос: в каком месте? При создании программы я произвожу ComServ := CoComServ.Create - тут все ок!
А где производить вызов этой ф-ции??


 
Reindeer Moss Eater ©   (2006-03-21 16:18) [4]

В потоке естественно.


 
Alex_C ©   (2006-03-21 17:09) [5]

Нашел в инете по этому поводу статью
Сделал так:
в методе Execute;
begin
 CoInitializeEx(NIL, COINIT_MULTITHREADED);
 …
 CoUninitialize
Теперь вылазиет другая ошибка
Приложение обратилось к интерфейсу, относящемуся к другому потоку

Инициализирую интерфейс в теле основной программы. Его там тоже надо использовать. Как быть?


 
Reindeer Moss Eater ©   (2006-03-21 17:11) [6]

Ты русский или марсианин?
Тебе русским языком компьютер сказал, что не произведен вызов CoInitialise

Произведи вызов CoInitialise


 
Alex_C ©   (2006-03-21 17:20) [7]

Я ж написал - вставил я CoInitialise в поток!


 
Reindeer Moss Eater ©   (2006-03-21 17:21) [8]

Читай внимательно чего ты туда написал и что тебе сказал компьютер написать туда.


 
Alex_C ©   (2006-03-21 17:26) [9]

Ок! Признаю я - Марсианин!
Только объясните в чем проблема!
Вставил так:
В Execute:
 CoInitialize(nil);
 Далее свою ф-цию. работы с COM

Пишет
" Приложение обратилось к интерфейсу, относящемуся к другому потоку"


 
Reindeer Moss Eater ©   (2006-03-21 17:28) [10]

Чего, не можешь перевести с русского на русский?
:)
Боюсь что переводчиков с таким дипломом здесь нет.


 
clickmaker ©   (2006-03-21 17:33) [11]


> Alex_C ©   (21.03.06 17:26) [9]

IGlobalInterfaceTable спасет марсианина )
http://www.compdoc.ru/prog/cpp/com/ch5/ch54.shtml



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

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

Наверх




Память: 0.49 MB
Время: 0.038 c
15-1144404237
BlackLumer
2006-04-07 14:03
2006.04.30
Где взять то благодаря чему


15-1144571134
Ega23
2006-04-09 12:25
2006.04.30
С Днём рождения! 9 апреля


3-1141677975
Евгений Р.
2006-03-06 23:46
2006.04.30
Аналогия с Loal SQL


9-1128942318
SPACE
2005-10-10 15:05
2006.04.30
Народ никак немогу сделать скриншот из игрушки


2-1144902493
Roman_K
2006-04-13 08:28
2006.04.30
Как вставить exe файл в прогу