看一下以下代码:
var
quitflag: Boolean;
procedure TForm1.Button1Click(Sender: TObject);
const
runon: Boolean=false;
begin
quitflag:=false;
if runon then Exit
// 若已进入本过程则退出
runon := true
while true do begin
.....//你的代码
Application.ProcessMessages
// 让其他控件能获取消息
if quitFlag then Break
end;
runon:= false
// 清除已进入本过程标志
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
quitFlag := true;
end;