Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Wie beende ich einen Thread ???
Xenar - Sa 30.04.05 18:15
Titel: Wie beende ich einen Thread ???
Hallo,
mit folgender prozedur starte ich ein Thread:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.ButtonClick(Sender: TObject); var BeispielThread: TBeispielThread; begin Label1.Font.Color:= ClYellow; Label1.Caption:= 'Beispielthread läuft'; BeispielThread:= TBeispielThread.Create(False); BeispielThread.FreeOnTerminate:= True; end; |
Nun will ich aus einer anderen Prozedure heraus diesen und alle anderen Threads abbrechen.
Dabei weiß ich aber nicht ob der Thread läuft oder nicht.
Jeder Thread hat bei mir eine eigene Unit. Die obige prozedur und die, aus der abgebrochen werden soll, sind in unit1.
:?
Ciao Xenar
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.Moderiert von
Klabautermann: Topic aus Sonstiges verschoben am So 01.05.2005 um 15:19
Sprint - Sa 30.04.05 18:20
Da gibt es verschieden Lösungswege. Einer wäre z.B. das Ereignis OnTerminate von TThread auszuwerten.
Xenar - Sa 30.04.05 18:30
Gibt es ein kurzen Befehl der alle Threads abbricht? Es muss dabei aus den Threads nicht gesichert werden?
Sprint - Sa 30.04.05 18:35
Du kannst z.B. die Methode Terminate von TThread aufrufen. Dann musst du innerhalb deines Thread's die Variable Terminated auswerten und den Thread verlassen. Oder halt brutal mit der Win32 API TerminateThread.
Xenar - So 01.05.05 14:05
Wie lautet den der Befehl für die Brechstangenaktion von der API?
mit MyThread.Terminate läuft er ja noch theoretisch wenn ein sleep im thread eingebaut ist.
MyThread. ????
BenBE - So 01.05.05 14:38
Siehe letztes Wort in Sprint's Post ^^
Xenar - So 01.05.05 14:51
Also mit MyThread.TerminateThread; sagt er mir ungültigerbezeichner.
Glaub bei mir handelt es sich nur um ein grammatik problem.
Wie soll ich das schreiben?
uall@ogc - So 01.05.05 15:07
TerminateThread(threadid,0)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!