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

调用Excel后无法释放,该怎么解决

2012-03-11 
调用Excel后无法释放tryExcelApplication1.ConnectExceptMessageDlg( Excelmaynotbeinstalled! ,mtError,

调用Excel后无法释放
try
        ExcelApplication1.Connect;
    Except
        MessageDlg( 'Excel   may   not   be   installed! ',mtError,[mbOK],0);
        abort;
    end;
    try
        ExcelApplication1.Visible[0]:=False;
        ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
        ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1]   as   _worksheet);
     ExcelWorkbook1.Close;
        ExcelApplication1.Disconnect;
        ExcelApplication1.Quit;
        ShowMessage( '已成功添加! ');
except
            ExcelWorksheet1.Free;
            ExcelWorkbook1.Free;
            ExcelApplication1.Disconnect;
            ExcelApplication1.Quit;
            ShowMessage( '出错啦! ');

在上面这个程序中无论try成功还是不成功最后进程中都还有一个Excel.exe的进程,怎么让Excel释放关闭这个Excel.exe进程啊???

[解决办法]
应该是finally
[解决办法]
hsmserver(撒哈拉之雨的悲伤)
的意思是把释放语句放在finally块里面,finally里面才是一定要执行的代码
except里面的代码只有出错了才执行,否则是不会执行的
[解决办法]
在外层套一层
Try
finally
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;
[解决办法]
ExcelApplication1:= unassigned;

热点排行