Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Object aus TOPbjectList nicht Castbar

  Alt 1. Dez 2005, 11:22
Das ist zwar immer ratsam, aber hier optional, da nur der leere Konstruktor von TObject aufgerufen würde.
Das Problem ist, dass du nach dem Einfügen in die Liste das Objekt sofort wieder freigibst:
Delphi-Quellcode:
var
obj : Tm3u
begin
obj := Tm3u.Create;
obj.dir := 'blabla';
obj.list.assign(irgendsoneliste);
m3ulist.add(obj);
obj.destroy; // <- btw: Sowieso besser .Free;
end;
Du übergibst der Liste ja nur eine Refrenz auf das Objekt und nicht eine Kopie, also enthält die Liste nur noch "Müll". Wenn die Liste mit AOwnsObjects = true erstellt wurde, werden alle Items mit der Liste freigegeben. Wichtig ist hier aber, dass du den Destruktor überschreibst, sonst wird deine Stringlist nie freigegeben!
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat