Thema: Delphi Frage zu TThread.Free

Einzelnen Beitrag anzeigen

iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#1

Frage zu TThread.Free

  Alt 31. Okt 2009, 10:35
Hallo,

ich starte einen Thread wie folgt:

Delphi-Quellcode:
type
  TCapture = class(TThread)
...

var
  Capture: TCapture;
...

Capture := TCapture.Create(...) //1.
...
Capture.Terminate; //2.
...
Capture.Free; //3.
Jetzt der Sachverhalt soweit ich ihn verstehe (bitte um Korrektur, falls ich falsch liege).
-Die Variable Capture ist ja wohl ein Pointer. Vor 1. ist der auf nil gesetzt.
-Bei 1. wird eine TCapture Datenstruktur erzeugt und Capture zeigt dann darauf.
-Bei 2. wird der Thread gestoppt, aber die Datenstruktur lebt noch.

Jetzt meine Frage:
-Bei 3. wird nach meinem Verständnis die Datenstruktur wieder vernichtet, d.h. eigentlich wird nur der entsprechende Speicherplatz wieder als frei deklariert.
Nach Capture.Free sehe ich im Debugger aber immernoch meine Datenstruktur in Capture, d.h. Capture ist in keinster Weise nil. Hat das seine Richtigkeit? Muss ich den selber auf nil setzen, wenn er ungültig ist?
  Mit Zitat antworten Zitat