Moin Michael,
ja, da könnte man wohl goto verwenden, aber mir gefällt folgende Lösung besser:
Delphi-Quellcode:
function DemoThread(const AParentHandle : THandle): Integer;
var
i: Integer;
begin
for i := 0 to 9 do
begin
if Abort then
begin
SendMessage(AParentHandle, CM_ABORT, 0 , 0);
break;
end else begin
SendMessage(AParentHandle, CM_STATUS, Integer(PChar('Durchlauf:')), i);
Sleep(500);
end;
end;
if not Abort then SendMessage(AParentHandle, CM_FINISHED, 0, 0);
Result := 0;
end;
BTW:
Den Speicher in der Funktion freizugeben, halte ich nicht für sinnvoll, da er ja dort nicht belegt wird.