Zitat von
ozz:
Ich habe es mit jetzt TList gemacht.Nur der Vollständigkeit, wie wäre es mit TObjectlist, auch wenn es nicht sauber ist?
TList und TObjectlist unterscheiden sich nicht besonders. Im Gegensatz zu TList kannst du aber bei TObjectlist mit dem Property ownsobjects angeben, daß TObjectlist die zugefügten Objekte wieder freigibt, wenn die einzelnen Elemente entfernt werden bzw. die glanze Liste freigegeben wird.
Zitat von
ozz:
Danke für den Tipp.Hast du dazu ein Code-Snippet? Irgendwie stehe ich auf dem Schlauch.
Hier mal eben schnell zusamengeschrieben:
Delphi-Quellcode:
type TCLCategory = class (TObject) // <- kein record sondern ein Object
id:integer;
Category:string;
parent:integer;
end;
type TMyClass = class (TComponent)
private
FCategory: TObjectList;
....
procedure TMyClass.create;
begin
FCategory:=TObjectList.create;
FCategory.ownsobjects:=true;
end;
....
procedure TMyClass.irgendetwas;
var
current:TCLCategory;
begin
....
current:=TCLCategory.create;
// Hier die Were zuweisen
current.Category:='Irgendein String';
FCategory.Add(Current);
...
end;