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

简介: 操作ArcEngine中的COM对象时,为了减少内存的增长,用掉的对象要手动释放常用的方法是ReleaseComObject System.Runtime.InteropServices.Marshal.ReleaseComObject(relObj); 但有时会报"COM对象与其基础RCW分开后就不能再使用"错误。

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

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

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

目录
相关文章
|
5月前
|
设计模式 固态存储 开发者
创建一个仅用一个函数/模块/类就可以处理这组不同事物的抽象
在软件开发中,良好的变量名和函数名能够显著提升代码的可读性和可维护性。对于变量命名,建议使用有意义且易于发音的名字(如 `currentDate` 而非 `yyyymmdstr`),对同类变量使用一致的词汇(如统一使用 `getUser`),以及使用解释性的变量名以减少理解成本(如使用常量 `MILLISECONDS_IN_A_DAY` 替代数字 `86400000`)。此外,避免不必要的上下文重复,并使用默认参数代替逻辑运算。对于函数,应限制参数数量(理想情况下不超过两个),确保每个函数只做一件事,并且函数名应清晰描述其功能。通过遵循这些原则,代码将更加简洁明了。
38 3
|
7月前
|
机器学习/深度学习 安全 关系型数据库
Excel VBA的分层对象集合及外部对象库
基于对象的Excel VBA的分层对象集合及外部对象库
|
7月前
|
存储 程序员 Swift
Swift开发——存储属性与计算属性
Swift推荐使用结构体进行开发,结构体支持属性和方法,且作为值类型。结构体属性包括存储属性(如radius)和计算属性(如r),计算属性不存储值,类似方法。结构体用`struct`定义,命名遵循大驼峰规则。实例名遵循小驼峰规则。属性可在结构体中任意位置定义,静态属性用`static`。存储属性可为`lazy`实现懒加载。结构体实例通过`.`访问属性和方法,静态属性和方法用`结构体名.`访问。计算属性可读写,可通过`get`和`set`定义。程序段1展示了结构体Point和Circle的属性和方法,包括私有属性、只读计算属性、可读写计算属性及`mutating`方法。
50 0
Swift开发——存储属性与计算属性
|
8月前
|
前端开发 JavaScript
怎样使用接口引用数据
怎样使用接口引用数据
|
8月前
|
算法 编译器 C++
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
228 0
|
存储 安全 Java
基础一:一切都是对象
基础一:一切都是对象
108 0
|
编译器 C++
C++把类的设计看成类型设计
C++把类的设计看成类型设计
117 0
【自然框架】内部类库、控件的引用关系(最新整理,基本稳定)
  和以前相比,减少了一个项目,把Control_Interface合并到CommonFunction里面。这样引用关系就简单多了。   基本上分为三个层次:类库、自定义控件、页面基类。其中的 MetaData 负责元数据的定义和加载。
653 0
|
数据库
【自然框架 NatureFW】里的两种“映射”方式
   自然框架里面采用了两种映射关系,一个是流行的ORM,另一是非主流的“CCM ” (我自己想的,呵呵)。   先说一下ORM。ORM是O和R的映射关系。也看到很多人写关于ORM的文章,发现好像有个误区。
961 0
|
安全 API Java
AtomicXFieldUpdater,属性原子修改的外部工具类
前言 最近在看资料的时候偶然间看到了AtomicLongFieldUpdater这个工具类,觉得新鲜就查阅了相关的资料,发现居然是jdk1.5就有的工具类,不禁感叹自己对Java的理解还是太浅了,于是在此整理一下该类的资料,作为知识储备。
1548 0