2011-06-16 129 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