Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
21. Mai 2014
Ja, was denn?
Was passiert denn, wenn Terminate aufgerufen wird? Wird dann der Event gesetzt?
Wenn nicht, dann wartet dein Thread bis zum Ende aller Tage.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
21. Mai 2014
... jetzt ;)
Das TThread.TerminatedSet ist irgendwann hinzugekommen und wird direkt am Ende von TThread.Terminate aufgerufen.
Umbauen kannst du das, wenn du die TThread.Terminate-Methode überschreibst (die ist natürlich nicht virtual, wär ja sonst zu einfach).
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Sir Rufo,
21. Mai 2014
So ist es richtig und ausreichend:
(Ich habe mir erlaubt aus MyEvent ein FMyEvent um zu verdeutlichen, dass es sich um ein Feld der Klasse handelt)
procedure TMyThread.TerminatedSet;
begin
inherited;
FMyEvent.SetEvent; // auf jeden Fall auch NACH INHERITED!!!!
end;
Procedure TMyThread.Execute;