Zitat von
DelphiManiac:
@Klaus01:
Ja das Könnte ich machen, aber meine
GUI kennt ja die TTests gar nicht,
und weiß auch gar nicht welche TTest aktiv ist, das weiß nur TTestcontrol,
das wiederum die Ausführung steuert.
Ich will auch gar nicht, dass die
GUI die Logik besitzt um einen Test zu beenden, sie soll es nur der darüber liegenden
Logik (TTestControl) übergeben, und die soll den TTest beenden, aber ich weiß nicht wie?
Deine
GUI kann doch den TTests eine neuen Auftrag übergeben, dann wird sie TTests ja wohl auch anweisen können, eine Variable ContinueTest auf false zu setzen - und dann stoppt die Ausführung eben bei der nächsten Abfrage dieser Variable. Egal ob extra Thread oder nicht.
Falls das zu einfach ist, kann man natürlich auch noch einige überflüssige Klassen darum herum bauen. Der einfachste Fall allerdings wäre eine für die ganze Anwendung globale Variable ContinueTest, auch wenn hier einige religiöse Eiferer gleich wieder nach Kreuzigung rufen werden. Dem Programm allerdings ist die angeblich reine Lehre herzlich egal, das funktioniert so einwandfrei.
Gruss Reinhard