2011-06-16 64 views
7

我使用的是Delphi 2010,當我嘗試在我的應用程序的單獨線程內執行XmlHttpRequest操作時,出現以下消息的EOleSysError異常: 'CoInitialize尚未被調用,ClassID:{ F6D90F16-9C73-11D3-B32E-00C04F990BB4}'XmlHttpRequest和Delphi中的線程

任何人有任何想法來解決這個問題? (對不起,我的英文很不好)

謝謝!

+2

必須爲使用COM對象的每個線程調用CoInitialize或CoInitializeEx – 2011-06-16 01:21:15

回答

15

在線程的Execute方法開始時調用CoInitialize。不要忘記在執行結束時調用CoUninitialize。

Chris Bensen寫了一些blog posts about this

+1

它正在工作!非常感謝你!! – 2011-06-16 01:19:03

+5

不是線程的構造函數。它運行在調用者創建線程的上下文中,而不是在新線程的上下文中。在Execute方法中初始化和取消初始化COM。 – 2011-06-16 02:15:06

+1

+1不要忘記Ariel,試試CoInitialize; (*代碼被運行*)最後CoUninitialize;結束; – ComputerSaysNo 2011-06-16 03:05:41