Du übergibst
nil als Owner:
self.FFTP := TFTP.Create(nil);
und stellst im Destruktor sicher, dass das eingebettete Objekt FFTP auch wieder freigeben wird.
Dein Destruktor darf nicht Free heisen, sondern
Destroy.
Ganz wichtig ist auch die Angabe von
Override.
destructor Destroy;override; // Standard deklaration des Destruktors
Delphi-Quellcode:
destructor TLivetrack.Destroy;
begin
FFTP.Free;
// Ganz wichtig !!! inherited muss der letzte Befehl im Destruktor sein
inherited;
end;