Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Wie Procedure abbrechen

  Alt 5. Mär 2005, 17:40
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?


procedure TForm1.OnButtonClick;
begin
for i := 0 to 2323324 do
begin
// ...
Application.ProcessMessages;
if FAborted then Break;
end;
end;
Hi,

setze eine weitere Boolean Variable ein, die Du am Anfang der Procedure auf TRUE setzt und am Ende auf FALSE.

z.B.
Delphi-Quellcode:
procedure TForm1.Button1Click;
begin
  if (FRunning) then
    Exit;
  FRunning := True;
  for i := 0 to 2323324 do
  begin
    // ...
    Application.ProcessMessages;
    if FAborted then Break;
  end;
  FRunning := False;
end;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat