在Formcreate中执行application.Terminate,为什么程序没有退出?

UFO_MY_CAR 2005-08-15 09:22:58
procedure TForm1.FormCreate(Sender: TObject);
var
postList: TStrings;
Response: TStringStream;
str:string;
begin
Response := TStringStream.Create('');
postList := TStringList.Create;
try
postList.Add('username=system');
postList.Add('password=password');
IdHTTP1.Post(homepage+'/login.jsp', postList,Response);
except
if inputquery('' ,'网站没有开通。要输入新的网址吗?',str) then
begin
edit2.text:=str;
Button1Click(nil);
end
else
application.Terminate;
end;
Response.Free;
postList.Free;
end;

在出现提问时,我按下取消按钮,程序应该执行application.Terminate语句,但是在进程列表里却发现程序依然存在,这是怎么回事?(我用了一个系统托盘控件,并且在开始设置其visible=false,但是应该不影响别的吧?还是IdHTTP控件有影响?)
...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿呆_ 2005-08-15
  • 打赏
  • 举报
回复
其实Halt和Raise 是一样的, 都是弹出错误,只不过Halt是个Silent exception,没有弹出错误信息对话框而已
阿呆_ 2005-08-15
  • 打赏
  • 举报
回复
FormCreate中需要, 一般情况下不需要, 只要加exit退出即可
UFO_MY_CAR 2005-08-15
  • 打赏
  • 举报
回复
Idle_(阿呆) ( ) 信誉:100 2005-08-15 09:35:00 得分: 0

application.Terminate后要加一句Halt. 不然退不出去
=============================================================

原来是这么回事啊,多谢!是不是只在FormCreate里需要这样做,还是无论在哪里都要这样做?

阿呆_ 2005-08-15
  • 打赏
  • 举报
回复
application.Terminate后要加一句Halt. 不然退不出去
UFO_MY_CAR 2005-08-15
  • 打赏
  • 举报
回复
ding

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧