Application.Terminate和close有什么区别啊?
h:=createMutex(nil,false,'form1');
if GetLastError() = ERROR_ALREADY_EXISTS then
begin
showmessage('程序已正在运行');
application.Terminate; //终止程序
end
else
begin
Application.Run;
end;
这是一个只能允许一个程序的代码,我把application.Terminate改为close 结果有差别 求解释?
[解决办法]
application.Terminate;
--------------
销毁有用程序 你打开的程序关闭了
close
--------------
关闭窗口
[解决办法]
任何地方调用application.Terminate都会关闭进程
close关闭当前窗体,如果是主窗体,进程结束
[解决办法]
Application.Terminate是告诉主程式,不管你在做什么,我都要走了。
Close是Form的关闭事件,如果当前Form是程式的主窗口,则Close会调用Application.Terminate。
[解决办法]
这种代码通常应该放在.dpr文件中,所以也不可能调用Close
看你的代码,估计是写在Form中了,所以你才想调用Close
这种做法是不严谨的,因为你把代码写在Form中
这时Form是已经创建加载过了,显然是没有必要的,也增加了无谓的内存开销