//.... FButtonClick: Boolean; public //....procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin FButtonClick := False; for I := 1 to 5000000 do begin Application.ProcessMessage; if FButtonClick then Break; end; end;procedure TForm1.Button2Click(Sender: TObject); begin FButtonClick := True; end;
procedure TForm1.Button11Click(Sender: TObject); var i: Integer; begin for i:= 0 to 5000000 do begin Application.ProcessMessages; // 允许处理消息 if GetKeyState(VK_ESCAPE) and 128 = 128 then Break; // 按 ESC 键就能退出 end; end;
begin
try
... code block;
except
break;
end;
end;
其实变成汇编是一样
FButtonClick: Boolean;
public
//....procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
FButtonClick := False;
for I := 1 to 5000000 do begin
Application.ProcessMessage;
if FButtonClick then Break;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
FButtonClick := True;
end;
var i: Integer;
begin
for i:= 0 to 5000000 do
begin
Application.ProcessMessages; // 允许处理消息
if GetKeyState(VK_ESCAPE) and 128 = 128 then Break;
// 按 ESC 键就能退出
end;
end;
break:退出循环体
continue:返回到循环的第一条语句