Hier kommt ein kleines Beispiel.
In den Tiefen der Schleifen wird auf zwei Abbruchbedingungen reagiert:
* Boolean-Flag FRunning. Diese Flag kannst du per Klick auf einen Button auf False setzen
*
Application.Terminated sollte man immer auch abfragen.
Niemand mag Programme, die sich nicht per Klick auf das Schliesen-Icon sofort beenden lassen
Delphi-Quellcode:
FRunning := True;
for y := 0 to 1023 do
for x := 0 to 1279 do
begin
Canvas.Pixels[x,y] := CalculateMandelbrotColor(x,y);
if (not FRunning) or (Application.Teminated) then
begin
// optional hier noch etwas aufräumen oder mitteilen
StatusBar1.SimpleText := 'Berechnung abgebrochen';
Exit; // und raus hier
end;
end;
Statusbar.SimpleText := 'fertig';