在循环体加入Application.ProcessMessage

解决方案 »

  1.   

    For i:=1 to 5000000 do
    begin
         try
            ... code block;
         except
            break;
         end;
    end;
      

  2.   

    break;或者goto哈哈!
    其实变成汇编是一样
      

  3.   

    有点没说清楚,break和goto都要有个出口条件或有错误,但是在我的循环体中没有办法判断,最好能通过另一个按键来中断。
      

  4.   

    //.... 
        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;
      

  5.   

    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;
      

  6.   

    Exit   命令    立即从当前的语句块中退出
      

  7.   

    zswang(伴水), johnsonrao(johnson)的都可以,哈哈,还能不加多个按键更好!给分了。
      

  8.   

    break或continue
    break:退出循环体
    continue:返回到循环的第一条语句