Delphi-Quellcode:
procedure TThread.Terminate;
begin
if FExternalThread then
raise EThread.CreateRes(@SThreadExternalTerminate);
FTerminated := True;
end;
@Uwe: Das habe ich auch grad beim lesen entdeckt...
@nuclearping: Angenommen er beendet sich aber nicht wie in meinem Beispiel durch den Aufruf von .Terminate sondern weil in der Execute-Methode ein "Fehler" drinne ist, dann beendet sich der Thread selbstständig an dieser Stelle. Ist nur ein Beispiel, deswegen würde Suspend nicht gehen.
Bevor jetzt große Unruhe aufkommt: Ich weiß, es sollte sowieso kein Fehler in der Execute Methode vorhanden sein aber vielleicht gibt es ja eine ganz ungünstige Situation die nur 1x pro Monat auftritt, welche dann wiederum zum Fehler führt. Ist wie gesagt nur ein Beispiel und darauf bezog sich meine Frage. Aber anscheind geht das wirklich nicht, schade...
Gruß
Alex