Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-38138
me2
2003-01-28 18:25
2003.02.13
Params в IBDataSet


14-38486
Ketmar
2002-12-28 21:02
2003.02.13
ищу фанатов Speccy и Zynaps...


3-38126
Ihtiandr
2003-01-26 02:06
2003.02.13
Помогите обратится к записи по номеру


14-38444
Dead Stark
2003-01-30 04:35
2003.02.13
Есть ли какое-нибудь ПО для чтения и редактирвания HASP?


4-38646
cher_gvf
2003-01-03 11:37
2003.02.13
CreateProcess




   Наверх