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