日期:2014-05-18  浏览次数:21203 次

C# 用BackgroundWorker生成word报错?
我是用BackgroundWorker后台生成一个word,点第一次的时候是成功的.但点击第二次就报下面的错:

报错内容:无法将类型为“Microsoft.Office.Interop.Word.DocumentClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Document”。此操作失败的原因是对 IID 为“{0002096B-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 应用程序调用一个已为另一线程整理的接口。 (异常来自 HRESULT:0x8001010E (RPC_E_WRONG_THREAD))。

因以下错误而失败: 应用程序调用一个已为另一线程整理的接口。 

我不知道是不是应该重新打开一个线程,还是应该怎么处理啊?

------解决方案--------------------
你应该使用_Document,以及_Application
------解决方案--------------------
在不同的线程中使用同一个接口,违反了COM接口调用规则