编程论坛
注册
登录
编程论坛
→
VFP论坛
NetMTVFP V1.06版
iswith
发布于 2024-08-19 22:28, 317 次点击
只有本站会员才能查看附件,请
登录
[此贴子已经被作者于2024-8-22 10:03编辑过]
6 回复
#2
iswith
2024-08-20 00:05
新增优雅停止
只有本站会员才能查看附件,请
登录
[此贴子已经被作者于2024-8-23 23:27编辑过]
#3
schtg
2024-08-20 06:56
谢谢分享!希望学习一下,不知可否?
#4
iswith
2024-08-20 14:30
一段非常好的句我发出来,大家参考一下:
在C#中,当你使用COM对象时,它会被封装在一个运行时可调用包装(RCW)中。当你将COM对象分离出来,你实际上是将RCW从当前的应用程序域中移除。一旦移除,RCW将不再与原始COM对象关联,因此你将无法再使用它。
解决方案通常涉及确保你的应用程序在需要使用COM对象的时候能够访问到RCW。如果你需要在不同的上下文中使用COM对象,你可以考虑以下几种方法:
不要分离COM对象。如果你在一个应用程序域中创建了COM对象,尝试在同一个域中使用它,而不是尝试分离它。
如果你需要跨应用程序域使用COM对象,你可以考虑使用Marshal.ReleaseComObject方法来减少COM对象的引用计数,直到最后一个引用被释放。这样可以保持RCW的活跃状态,只要有一个活跃的引用在使用它。
如果你需要在不同的应用程序域中使用COM对象,你可以考虑使用Marshal.GetIUnknownForObject方法获取COM对象的原始接口指针,然后在另一个应用程序域中使用这个指针来重新创建RCW。
如果你需要在不同的进程中使用COM对象,你可以考虑使用COM的DCOM或者Windows通信基础(WCF)等跨进程通信技术。
具体的实现代码取决于你的应用程序的具体需求,但上述策略可以帮助你在使用COM对象时避免这个问题。
#5
ljb8864
2024-08-21 13:07
回复 4楼 iswith
怎么整,有没有现成的实例代码
#6
ykxby001
2024-08-23 14:25
亮出来是显摆的,还是要收费的?@iswith
#7
iswith
2024-08-23 23:41
有兴趣加我WX私聊。。。。。
1