ArcEngine COM 对象与其基础 RCW 分开后就不能再使用

时间:2022-09-29 13:09:29

代码中可能是释放了对象,又使用了。

例如可能有这一句

System.Runtime.InteropServices.Marshal.ReleaseComObject(relObj);

使用的位置不对,已经释放了,后面在引用就失败了。使用完再释放就行了。

 
 
-------------------------------------------------------------------------------------------
RCW是一个.NET和COM之间的桥梁,上述错误就是在于COM那一段的陆地消失了,你再想走着这桥,系统就报错了,
这种问题多半是COM对象被意外销毁或者没有抛出异常就崩溃导致。 
ArcEngine COM 对象与其基础 RCW 分开后就不能再使用

解决问题是:肯定是系统对象在运行时某个地方,局部销毁了,在传入时,可用引用对象ref,out

 

参考:COM对象与其基础RCW分开后就不能再使用