//如果有這樣一個迴圈, 是非常可怕的; 因為它完不了, 你得等著.procedure TForm1.Button1Click(Sender: TObject);var i: Integer;begin for i := 0 to MaxInt do begin Text := IntToStr(i); end;end;//即使這樣也無濟於事, 因為在迴圈期間你執行不了 Button2Clickvar b: Boolean;procedure TForm1.Button1Click(Sender: TObject);var i: Integer;begin b := True; for i := 0 to MaxInt do begin if b then Text := IntToStr(i) else Exit; end;end;procedure TForm1.Button2Click(Sender: TObject);begin b := False;end;//如果在迴圈期間...for i := 0 to MaxInt do begin if b then Text := IntToStr(i) else Exit; {看看還有其他什麼事情發生} end;//Application.ProcessMessages 就是幹這個的!var b: Boolean;procedure TForm1.Button1Click(Sender: TObject);var i: Integer;begin b := True; for i := 0 to MaxInt do begin if b then Text := IntToStr(i) else Exit; Application.ProcessMessages; {!} end;end;procedure TForm1.Button2Click(Sender: TObject);begin b := False;end;