|
<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>
|
|