现在有一个程序,比较大,单个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);这句我用得比较鲁莽,也不知道对不对,就一股脑儿加上去了
解决方案 »
- image 中导入图片的函数是什么?
- 高手请进,问了很多次,没得到很确定答案,关于多线程处理的流程问题,老是怀疑有错
- 大家来讨论讨论ADO和BDE的区别和各自的优劣~~
- 录入数据越来越慢,,大家有什么看法,怎么回事?
- 有关主从表的一个问题?
- 我想让form1消失,可我加了form1.close后就出现了错误,why??在线给分!!!
- 看到别人的代码我总是很羡慕,总觉得看起来很舒服,我的总是些垃圾样,提提意见,看我的结症在那里
- 如何把窗口调到最前面显示?
- 求教TPrinter用法
- 请问,我在用install sheild 4做安装盘后运行,如果卸载,其他delphi程序就不能用了,bde就坏了,为什么
- 散分100,现在在珠三角,想去苏州找工作,大家给点意见,来者有分!!!
- 怎么在RzShellList中加入Item的同时,同样把图标也加到SmallImages中
我也不是很明白。希望有人讲一讲。
你删除试试
所以运行Application.Terminate;肯定会报错的。
Close;//窗体关闭事件代码,没必要写。
try//.............释放资源except
Application.Terminate
end;
//////////////////////////////
如果你非要关,而不关心释放资源是否会出现问题,就这样写吧
不过不建议在OnClose里面写太多东西,容易出错。