现在有一个程序,比较大,单个exe有1.35M,程序在运行较长时间后再关闭会出现关不掉的情况,这时就必须得用系统的进程管理器来关闭程序,这个问题比较麻烦
下面是关闭的代码:
//-----关闭按钮的代码----
Close;
Application.Terminate;//窗体关闭事件代码
ClientSocket.Close;
ConfigFile.Free;
FreeDB;
具体还有一些就不写了,都差不多
我想问一下我关闭程序的方法对不对,如果不对,那么正确且安全的关闭程序的方法是什么?如果是正确的,那么有什么方法可以彻底关闭程序我后来又改了一下
关闭按钮的代码改为
Close;窗体关闭事件代码改为
try
//Free掉一些数据结构
finally
FreeAndNil(Self);
Application.Terminate;
end;
但在执行到Application.Terminate;这句时报错
说实话FreeAndNil(Self);这句我用得比较鲁莽,也不知道对不对,就一股脑儿加上去了
下面是关闭的代码:
//-----关闭按钮的代码----
Close;
Application.Terminate;//窗体关闭事件代码
ClientSocket.Close;
ConfigFile.Free;
FreeDB;
具体还有一些就不写了,都差不多
我想问一下我关闭程序的方法对不对,如果不对,那么正确且安全的关闭程序的方法是什么?如果是正确的,那么有什么方法可以彻底关闭程序我后来又改了一下
关闭按钮的代码改为
Close;窗体关闭事件代码改为
try
//Free掉一些数据结构
finally
FreeAndNil(Self);
Application.Terminate;
end;
但在执行到Application.Terminate;这句时报错
说实话FreeAndNil(Self);这句我用得比较鲁莽,也不知道对不对,就一股脑儿加上去了
解决方案 »
- winhttp---winhttpcertcfg造成的困惑
- 请问各位高手,关于字符串过滤的问题
- Delphi 操作快捷方式集锦~
- 小数点的进位问题
- Remote Desktop 管理不了我的远程服务器了!!急,急,急!
- 网络游戏外挂制作之我所见(5.5)
- 【一个添加和删除系统热键的问题】
- ◆◆ 关于DELPHI属性编辑器的Grid ◆◆
- 一个小问题关于Qreport如何报表的?
- StringGrid如何实现双击不同的列,结果不同?多谢了。
- 散分100,现在在珠三角,想去苏州找工作,大家给点意见,来者有分!!!
- 怎么在RzShellList中加入Item的同时,同样把图标也加到SmallImages中
我也不是很明白。希望有人讲一讲。
你删除试试
所以运行Application.Terminate;肯定会报错的。
Close;//窗体关闭事件代码,没必要写。
try//.............释放资源except
Application.Terminate
end;
//////////////////////////////
如果你非要关,而不关心释放资源是否会出现问题,就这样写吧
不过不建议在OnClose里面写太多东西,容易出错。