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

Вниз

CreateThread   Найти похожие ветки 

 
alvin   (2003-01-01 16:33) [0]

Уважаемые Мастера. Имеется процедура, создающая достаточно большой отчет в Wordе. Поскольку это занимает много времени, хотелось бы запустить ее в отдельном потоке. При попытке запуска потока с помощью CreateThread, выдается сообщение об ошибке "raised exception class EOleSysError with message
"Не был произведен вызов CoInitialize"".
Работаю с Word через word_tlb под Delphi4.


 
Alex Konshin   (2003-01-01 18:15) [1]

Еще раз: используйте BeginThread/EndThread.
Это, правда, не ответ на вопрос, а лишь замечание.

Цитата из MSDN:
CoInitialize
Initializes the COM library on the current thread and identifies the concurrency model as single-thread apartment (STA). Applications must initialize the COM library before they can call COM library functions other than CoGetMalloc and memory allocation functions.

Честно говоря, не знаю, есть ли у Delphi отдельный мозг для инициализации OLE в других нитях, пусть лучше ответят те, кто с этим сталкивался.


 
alvin   (2003-01-02 13:43) [2]

Подключил ActiveX, дописал CoInitialize(nil) и все воркает (не знаю правда, насколько это корректно).
Спасибо, буду чаще заглядывать в HELP


 
asmith   (2003-01-02 18:55) [3]

> Честно говоря, не знаю, есть ли у Delphi отдельный мозг для инициализации OLE в других нитях, пусть лучше ответят те, кто с этим сталкивался.
Нет, Delphi этого не делает. Поэтому для каждого создаваемого потока нужно явно вызвать CoInitialize, а по его завершению - соответственно CoUninitialize.



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
3-38080
nik4543
2003-01-27 13:44
2003.02.13
Excel


7-38594
Tigam
2002-12-10 22:15
2003.02.13
Старые песни о главном (выдвигаем поддон cd-rom)


14-38536
asafr
2003-01-29 10:58
2003.02.13
Будь здоров, товарищ Программист....!!!!!!


1-38275
First_May
2003-02-05 10:17
2003.02.13
ICQ...


7-38608
Gayrus
2002-12-12 14:18
2003.02.13
Подскажите адрес COM порта