IT技术学习网
IT技术学习网
您的位置: 主页 > 编程技术 > c# >

c#"对 COM 组件的调用返回了错误 HRESULT E_FAIL"报错原因

2015-01-07 18:00 来源: IT技术学习网原创 阅读:

本文讲述c#中 “对 COM 组件的调用返回了错误 HRESULT E_FAIL”的原因。

报错组件:vs2010中的webbrowser

报错症状:当使用webbrowser的navigate方法时,报错:“对 COM 组件的调用返回了错误 HRESULT E_FAIL”

原因分析:这个错误很少见,我用过这么多次webbrowser,从来没见过这个错误,很快我发现了这次调用的特殊性

本次调用后,webbrowser实例已被网页给倒计时5秒,关闭了。不过在c#程序中,网页是仍然可见的,但是事实上,此部分实例已经释放了。

所以,当我们再次调用之前的已销毁的webbrowser实例的时候,自然的就会出现这个比较特殊的"对 COM 组件的调用返回了错误 HRESULT E_FAIL"错误了。

网上也有朋友说是webbrowser内存泄露了,其实都差不多,总之那个时候该webbrowser实例确实是不能用了。

请在网页被自动关闭前就navigate其他页面来避免此问题。重新new一个webbrowser1虽然可以不再报错,但是新的webbrowser1已经没办法在窗体中看到了。

c#"对 COM 组件的调用返回了错误 HRESULT E_FAIL"报错原因
转载需注明出处:IT技术学习网 http://www.itjsxx.com/csharp/com_HRESULT_E_FAIL.html

评论文章 c#"对 COM 组件的调用返回了错误 HRESULT E_FAIL"报错原因
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
IT技术学习网 - 关于我们 - 联系我们 - 版权声明 - 网站地图