Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
Du kannst nach wie vor die Vorgängermethode aufrufen. Mach ich ja, wie gesagt, auch ständig.
Du kannst dir ja mal bspw. mein DosCommand ansehen:
http://forum.delphi-treff.de/showthread.php?27808-Ausgabe-von-Konsolen-Programm-erhalten&p=201783#post201783
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
@himi
Steve hat ja schon alles gesagt, noch Ergänzungen:
Dann eben in die DMT.
Und wo löst du die zweite Abbruchbedingung aus (ich nutze dann auch meist Waitformultipleobjects)? Richtig in Terminate!
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
HAst du das Projekt auch neu erzeugt oder nur gestartet (letzteres reicht nicht immer aus)?
Du kannst auch einfach Terminate verdecken (also ohne override), wenn du (wie ich jetzt begriffen habe) DeineKlasse.Terminate direkt von außen aufrufst. Und wenn du eh eine spezielle Methode einbauen musst, ist das ja auch gegeben.
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
@jfheins: Mist, naja virtuelle Biere sind ja recht günstig.
Aber dann hat TThread echt einen Designfehler (also noch einen mehr). Denn wo kann ich sonst zum Terminate noch etwas anfügen? Ich benutze diese Methode (hatte mich anfangs auch gewundert warum nicht virtuell, und mir dann meine, diese, Erklärung zurechtgelegt) recht häufg, wenn zum Beispiel mein Thread schläft auf Grund von:
...
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
Ui, korrekterweise wäre dann ein Virtual sinnvoll, weil man sich sonst nirgendwo ins Terminate reinklinken kann.
Aber ein kurzes Üüberlegen, wann der Fall eintritt, sagt mir, dass man dann den Thread während des Betriebes von außen abschießen muss. Böse Sache, dass.
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jul 2010
Ganz richtig wäre: TThread ruft Terminate nie auf, deswegen muss es auch nicht virtual sein. Ein simples verdecken (reintroduce) reicht hier völlig aus.
Virtuelle Methoden sind ja nur wichtig, wenn von deiner Elternklasse in eine deiner Methoden gesprungen werden soll. Aber Terminate ruft man ja nur von außen auf, deswegen einfach verdecken, fertsch.