Soll also heißen, solange ich nur Strings und Integers in meiner abgeleiteten Klasse definiere, muss ich diese nicht explizit freigeben??
Stellt sich mir die Frage, wann das Destroy der abgeleitenden Klasse aufgerufen wird. Angenommen ich hab außer Strings noch andere Objekte in meiner Thread Klasse definiert.
Delphi-Quellcode:
MyThread = class(TThread)
private
...
FList : TStringList;
protected
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
...
end;
constructor TMyThread.Create;
begin
inherited Create(True);
FreeOnTerminate := True;
FList := TStringList.Create;
end;
destructor TMyThread.Destroy;
begin
FList.Free;
inherited;
end;
Der Thread wird zwar freigegeben, aber ohne MyThread.Free bleibt die StringList im Speicher.
Da muss ich jetzt wohl oder übel in meiner Thread Klasse ein OnTerminate einbauen?!