Hallo
ich habe folgendes Konstrukt:
Code:
MyThread = class(TThread)
private
FPath: String;
FCount: Integer;
protected
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
property Path: String read FPath write FPath;
property Count: String read FCount write FCount;
end;
constructor TMyThread.Create;
begin
inherited Create(True);
FreeOnTerminate := True;
end;
destructor TCopyThread.Destroy;
begin
inherited;
end;
Der Thread wird so gestartet:
Code:
var
T: TMyThread;
begin
T := TMyThread.Create;
T.Path := 'C:\';
T.Count := 100;
T.Resume;
end;
Und jetzt die Frage: Wie bzw. wo kann ich 'T' (TMyThread) am besten wieder freigeben, bzw. muss ich es überhaupt freigeben? Der eigentliche Thread wird ja nachdem er fertig ist, automatisch freigegeben (FreeOnTerminiate)
Ein klassisches T.Free direkt nach dem T.Resume geht wohl nicht, da der Thread da ja noch läuft.
Chris