Einzelnen Beitrag anzeigen

Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#7

AW: Schleifenabbruch durch Esc Taste...

  Alt 2. Nov 2014, 21:24
Klingt so, als wenn im Hintergrund die Schleife noch laufen und das Formular blockieren würde. Entweder man ruft in der Schleife Application.ProcessMessages auf oder man lagert das alles in einen Thread au.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   i : Integer;
begin
  ResetEscPressed;
   for i := 0 to 10000000 do
    begin
     Application.ProcessMessages;
     Caption := inttostr(i);
     if EscPressed('Schleife abbrechen ?') then break;
    end; //For
    Label1.Caption:= 'stop';
end; //proc
Application.ProcessMessages bringt keine Änderung.

Beim Klick auf ESC zeigt das Label sofort 'Stop' an, die Schleife wird also sofort verlassen.
Es muss einen anderen Grund geben. Gibt es eine andere Möglichkeit als GetAsyncKeyState?
  Mit Zitat antworten Zitat