在delphi中怎样终止程序的运行?我用了mainform.freee,mainfrom.close,application.Terminate,exit,都不

  • 主题发起人 主题发起人 luckyw
  • 开始时间 开始时间
L

luckyw

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中怎样终止程序的运行?我用了mainform.freee,mainfrom.close,application.Terminate,exit,都不能终止程序的运行,奇怪!(100分)<br />在delphi中怎样终止程序的运行?我用了mainform.freee,mainfrom.close,application.Terminate,exit,都不能终止程序的运行。
程序如下:
if reg_dat.OpenKey('/Sofware/售后服务/程式设置',true)=false then
begin
showmessage('▲没有设置数据库服务器!');
application.Terminate;
form800.Free;
exit;
end
结果执行完上面的语句,程序不能终止,仍继续执行其它语句了
 
直接close;
 
application.Terminate;就退出了,
检查是否程序的其他地方除了问题。
 
application.halt;
 
if reg_dat.OpenKey('/Sofware/售后服务/程式设置',true)=false then
begin
showmessage('▲没有设置数据库服务器!');
application.Terminate;
//底下就没必要了吧
end
 
如果是在工程文件中做可以这样:
if reg_dat.OpenKey('/Sofware/售后服务/程式设置',true)=false then
begin
showmessage('▲没有设置数据库服务器!');
end else
begin
application.createform(tform800, form800);
end;
application.run;
end.


如果是在FormCreate中做则可以这样:
procedure TForm800.FormCreate(Sender: TObject);
begin
if reg_dat.OpenKey('/Sofware/售后服务/程式设置',true)=false then
begin
showmessage('▲没有设置数据库服务器!');
Application.ShowMainForm := False;
Visible := False;
PostQuitMessage(0);
end;
end;
 
只用 Application.Terminate;就有完全退出的
 
[h4][blue]用 Application.Terminate;

不一定就可以有完全退出!!!
我过去就有过这种情况,不信你调试着看。[/blue][/h4][:)]
 
在工程文件中,执行Application.terminate,将application.createform 代码放在可控制的条件中,否则程序顺序执行完createform 等一系列程序引导后,才进行以后的操作比如,close,terminate等
 
多人接受答案了。
 
后退
顶部