Einzelnen Beitrag anzeigen

Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Wie Procedure abbrechen

  Alt 5. Mär 2005, 17:43
Zitat von Insider2004:
2. Problem
Das Application.ProcessMessages; macht es möglich, dass meine Procedure nochmals von "hinten" aufgerufen wird. Wie vermeide ich diese Rekursion?

Delphi-Quellcode:
procedure TForm1.OnButtonClick;
begin
  for i := 0 to 2323324 do
    begin
      // ...
      Application.ProcessMessages;
      if FAborted then Break;
    end;
end;
Wenn der Button einmal gedrückt wurde, kann man die Eigenschaft Enabled des Buttons auf False setzen und am Ende der Prozedur wieder auf True:
Delphi-Quellcode:
procedure TForm1.OnButtonClick;
begin
  Button1.Enabled:= False;//Button1 gesperrt
  for i := 0 to 2323324 do
    begin
      // ...
      Application.ProcessMessages;
      if FAborted then Break;
    end;
  Button1.Enabled:= True;//Button1 wird wieder aktiviert
end;
MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat