怎么做可以做到随时关闭程序?(5分)

  • 主题发起人 主题发起人 zj_pht
  • 开始时间 开始时间
Z

zj_pht

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个程序,用到一个长循环,我要求当程序在执行循环时,能够随时退出程序
应该怎么做
我把Application.ProcessMessage放在循环内试了不行
 
如果是跳出循环用BREAK,跳出该该过程用EXIT,如果是结束程序用APPLICATION.TERMINATE
 
要结束时执行:halt
 
如:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 1000 do
begin
if i=500 then
begin
showmessage('500');
halt;//马上关闭程序。
end;
if i=600 then showmessage('600');//执行不到此句。
end;
end;
 
写个热键,在这个热键的事件里写exit or abort ,楼上说的halt连整个应用程序都关掉了。
 
只能用线程
if not TERMINATE then //根据是否按下esc键
begin
end;
 
能写出线程的代码???
 
去找一个目录递归扫描的源码吧,里面的方法可能是最好的。
 
死循环放在线程里
 
做两个线程,第一个循环,另一个激活后杀死它.[:D][:D]
 
我也上次遇到过这样的问题,因为有时候Application.Terminate;后单步调试后程序并没有
立即停止,还会向下走一些,问了同事才知道,和我后面的程序有关,后来加了exit后就可以。
Application.Terminate;
exit;

就可以了。
 
咳!用一个线程控制程序运行,一个线程控制你说的循环运算就可以,你要什么时候结束
循环线程只要在控制线程中加入结束线程的命令就可以啊,这个作用比你说的还大
 
后退
顶部