C#COM对象的资源释放问题解决
2011-09-03 15:50
246 查看
注意在调用com资源时,一定要记得对其进行释放,释放方法:最近,在用C#调用Excel读取Excel文件,经常会遇到无法释放资源,程序结束了,任务管理器中仍然有很多的进程无法及时退出和释放。后来,经过查找资料,找到了一个释放Com对象资源的方法:System.Runtime.InteropServices.Marshal.ReleaseComObject(ObjectO)最近的代码中有这样的引用:
System.Runtime.InteropServices.Marshal.ReleaseComObject(excApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excWork);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excsheet);这样的代码是无法彻底的释放Excel对象的,因为必须先将工作表对象释放,然后释放工作簿,最后释放整个表格对象,将上面的语句做如下修改:
System.Runtime.InteropServices.Marshal.ReleaseComObject(excsheet);System.Runtime.InteropServices.Marshal.ReleaseComObject(excWork);System.Runtime.InteropServices.Marshal.ReleaseComObject(excApp);
相关文章推荐
- 自动资源释放-使用对象管理资源,解决资源泄露问题
- GDI对象错误:CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法
- 线程资源释放 问题解决
- 调用Excel导出文件的两种方式,主要解决了资源释放的问题。
- 关于HibernateDaoSupport getSession()不能释放资源的问题及解决方法
- C# 导入excel数据,解决关闭excel后不能释放资源的问题
- 关于GDI资源使用后未释放,导致GDI对象猛增,程序花屏,异常退出的问题
- HibernateDaoSupport getSession()不能释放资源的问题及解决方法
- IE浏览器IFrame对象内存不释放问题解决方法
- C#关闭子窗口而不释放子窗口对象的问题解决
- goto对资源的释放问题的解决
- 关于HibernateDaoSupport getSession()不能释放资源的问题及解决方法
- 解决切换场景时NGUI图集资源未释放的问题
- IE浏览器IFrame对象内存不释放问题解决方法
- 使用定时器解决对象事件中自释放的问题
- 解决IE浏览器IFrame对象内存不释放问题
- CFtpFileFind资源释放的问题以及解决方法
- 如何优化代码节约系统资源解决重复实例化对象的问题——神奇的单例模式(C#设计模式)
- 窗口close 后资源无法释放的问题
- 由于以下错误: 0x80040154,无法创建 CLSID 为“{E436EBB3-524F-11CE-9F53-0020AF0BA770}”的 COM 对象。怎么解决这个问题?