找回密码
 注册会员
查看: 727|回复: 0

Delphi中操作Excel时候的内存问题

[复制链接]
发表于 2010-6-24 10:56:22 | 显示全部楼层 |阅读模式
<p>Delphi中操作Excel时候的内存问题</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:20 -</p>
<p>解决时间:2010-6-24 10:53</p>
<p>我的delphi相关代码如下:</p>
<p>procedure GetValue();</p>
<p>var</p>
<p>ExcelApp,WorkBook:Variant;</p>
<p>begin</p>
<p>ExcelApp:=CreateOleObject(\'Excel.Application\');</p>
<p>WorkBook:=CreateOleObject(\'Excel.Sheet\');</p>
<p>WorkBook:=ExcelApp.WorkBooks.Open(ExcelFilePath)</p>
<p>ExcelApp.WorkSheets[1].Activate;</p>
<p>WorkBook.Close;</p>
<p>ExcelApp.Quit;</p>
<p>ExcelApp:=UnAssigned;</p>
<p>end;</p>
<p>这个procedure被主程序调用一次,程序不会出现问题。但主程序中调用两次以上这个procedure就出现问题,进程中会有一个Excel未关闭,导致读冲突!</p>
<p>请高手帮忙看看这是为什么?</p>
<p>提问者: lichehuoe - 二级</p>
<p>最佳答案</p>
<p>WorkBook:=CreateOleObject(\'Excel.Sheet\');</p>
<p>WorkBook:=ExcelApp.WorkBooks.Open(ExcelFilePath)</p>
<p>这样做等于把CreateOleObject(\'Excel.Sheet\');的返回值丢掉了,那这个对象就一直不会释放。。</p>
<p>0</p>
<p>回答者:</p>
<p>VisualBoy2009 - 二级   2009-8-3 11:22</p>
<p>我来评论>></p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-7-28 15:15

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表