首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 用BackgroundWorker生成word报错?该如何解决

2012-07-27 
C# 用BackgroundWorker生成word报错?我是用BackgroundWorker后台生成一个word,点第一次的时候是成功的.但

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接口调用规则

热点排行