geckofx内核:时不时提示“COM 对象与其基础 RCW 分开后就不能再使用”

oldhunter 2019-05-20 07:09:51
在项目中的使用了 geckofx 内核,需要用内核做一些操作,如获取元素XPath、查询XPath等。

但经常时不时提示:COM 对象与其基础 RCW 分开后就不能再使用

如果是跨线程,会提示这个。但现在是已经解决跨线程的调用问题,使用 Control.Invoke 解决的。

在 geckofx内核的控件界面中查询XPath时,“时不时”就提示以上错误。如果操作10次,总有一两次会提示错误。再操作,又没有错误 (同样的代码、同样的操作逻辑)。
...全文
213 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldhunter 2019-05-21
  • 打赏
  • 举报
回复
引用 2 楼 stherix 的回复:
这个是资源已经被释放了
你还想去访问COM对象


如果是释放了,我再次访问(重试查询XPath操作)时,为什么又可以访问了呢? 并没有重新 new 新的COM对象
oldhunter 2019-05-21
  • 打赏
  • 举报
回复
引用 4 楼 bloodish 的回复:
试试在主线程中初始化geckofx的COM对象。
在主线程中初始化COM对象可以避免由于线程结束导致COM对象被销毁。


谢谢,线程没有结束,这个确定的。

放主线程,会导致卡顿。可能因为消息队列太多内容。
bloodish 2019-05-21
  • 打赏
  • 举报
回复
试试在主线程中初始化geckofx的COM对象。 在主线程中初始化COM对象可以避免由于线程结束导致COM对象被销毁。
stherix 2019-05-20
  • 打赏
  • 举报
回复
这个是资源已经被释放了 你还想去访问COM对象
oldhunter 2019-05-20
  • 打赏
  • 举报
回复
大家遇到过这种情况吗? 是 geckofx 的bug吗?

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧