首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

【请问】为什么有的XP机器不释放Excel资源?

2013-10-12 
【请教】为什么有的XP机器不释放Excel资源??我的程序有个Excel读取类,在析构函数里释放资源。现在发现有一台

【请教】为什么有的XP机器不释放Excel资源??
我的程序有个Excel读取类,在析构函数里释放资源。
现在发现有一台机器,读取excel后无法释放资源,即Excel进程还在

其他机器都没问题,系统XP,win7都有,都能释放

大家有没有遇到这种情况??
[解决办法]
这个 好空泛 好难说
既然存在excel.exe  那你读取方式应该是通过ole方式吧!
释放资源应该在open后,把内容get_value2()后就应该release了!
即把CApplication创建的excel服务结束掉了!
如果你放在析构函数里面,程序异常结束了!
我个人不确定这个会不会释放掉。仅个人观点。。。
你可以把release方法在读取后就调用
把读取放在try  catch中   出异常了 也 release 
这样子 你再试试!
[解决办法]

引用:
我的程序有个Excel读取类,在析构函数里释放资源。
现在发现有一台机器,读取excel后无法释放资源,即Excel进程还在

其他机器都没问题,系统XP,win7都有,都能释放

大家有没有遇到这种情况??


我试过,在某个版本的金山毒霸下,我的程序就没问题,但金山毒霸升级后,就有这个问题了。

(我不想黑谁或挺谁,金山毒霸我自己用的就挺好的.别的杀软我估计也会有相同的情况)

最后的解决办法是,程序打开excel之前,先枚举当前所有名为"Excel"进程的PID,打开后,立刻再枚举所有EXCEL进程,多出来的这个就是我打开的.

退出程序或关闭这个EXCEL文件时,把刚才找到的多出来的这个PID杀掉.

热点排行