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

简介:

操作ArcEngine中的COM对象时,为了减少内存的增长,用掉的对象要手动释放常用的方法是ReleaseComObject

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

但有时会报"COM对象与其基础RCW分开后就不能再使用"错误。这是因为对象被释放了,再去引用就找不到了,所在释放对象固然好,但要分清楚。

作者:我也是个傻瓜 
出处:http://www.cnblogs.com/liweis/ 
签名:成熟是一种明亮而不刺眼的光辉。





本文转自我也是个傻瓜51CTO博客,原文链接:http://www.cnblogs.com/liweis/p/7484085.html ,如需转载请自行联系原作者



相关文章
|
3月前
|
C++
C++(十六)类之间转化
在C++中,类之间的转换可以通过转换构造函数和操作符函数实现。转换构造函数是一种单参数构造函数,用于将其他类型转换为本类类型。为了防止不必要的隐式转换,可以使用`explicit`关键字来禁止这种自动转换。此外,还可以通过定义`operator`函数来进行类型转换,该函数无参数且无返回值。下面展示了如何使用这两种方式实现自定义类型的相互转换,并通过示例代码说明了`explicit`关键字的作用。
|
4月前
|
设计模式 固态存储 开发者
创建一个仅用一个函数/模块/类就可以处理这组不同事物的抽象
在软件开发中,良好的变量名和函数名能够显著提升代码的可读性和可维护性。对于变量命名,建议使用有意义且易于发音的名字(如 `currentDate` 而非 `yyyymmdstr`),对同类变量使用一致的词汇(如统一使用 `getUser`),以及使用解释性的变量名以减少理解成本(如使用常量 `MILLISECONDS_IN_A_DAY` 替代数字 `86400000`)。此外,避免不必要的上下文重复,并使用默认参数代替逻辑运算。对于函数,应限制参数数量(理想情况下不超过两个),确保每个函数只做一件事,并且函数名应清晰描述其功能。通过遵循这些原则,代码将更加简洁明了。
35 3
|
6月前
|
缓存 JavaScript
计算属性和方法有什么区别?怎样选择
计算属性和方法有什么区别?怎样选择
|
7月前
|
算法 编译器 C++
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
206 0
|
机器学习/深度学习 搜索推荐 算法
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
72 0
|
uml
(设计题)造一个凳子(stool)是由三个圆柱体组成,分别表示它的 顶部,中部和底部。计算凳子的体积和表面积(忽略重叠的部分)。 请设计UML图(包括类以及类的关系,可以省略方法和属性),并完成代码。
(设计题)造一个凳子(stool)是由三个圆柱体组成,分别表示它的 顶部,中部和底部。计算凳子的体积和表面积(忽略重叠的部分)。 请设计UML图(包括类以及类的关系,可以省略方法和属性),并完成代码。
173 0
(设计题)造一个凳子(stool)是由三个圆柱体组成,分别表示它的 顶部,中部和底部。计算凳子的体积和表面积(忽略重叠的部分)。 请设计UML图(包括类以及类的关系,可以省略方法和属性),并完成代码。
|
编解码 C#
基于C#的ArcEngine二次开发教程(17):获取栅格属性的接口及代码实现
基于C#的ArcEngine二次开发教程(17):获取栅格属性的接口及代码实现
基于C#的ArcEngine二次开发教程(17):获取栅格属性的接口及代码实现
基于C#的ArcEngine二次开发48:点是否落在实体上检查
基于C#的ArcEngine二次开发48:点是否落在实体上检查
|
编译器 C++
C++把类的设计看成类型设计
C++把类的设计看成类型设计
113 0
【自然框架】内部类库、控件的引用关系(最新整理,基本稳定)
  和以前相比,减少了一个项目,把Control_Interface合并到CommonFunction里面。这样引用关系就简单多了。   基本上分为三个层次:类库、自定义控件、页面基类。其中的 MetaData 负责元数据的定义和加载。
650 0