Moin !
Ok dazu muss ich wohl etwas ausholen und ein bisserl beschreiben wie ich das einsetze ...
In der Anwendung gibt es mal eine ProjektListe (TObjectList).
Darin erstelle ich Instanzen von Projektklassen - Item_Project.
In Item_Project kann man in einer TObjectList wiederum Subelemente einhängen.
z.B. eine Instanz der Klasse Item_Device.
Und Item_Device kann man ebenfalls Unterelemente zuweisen wie z.B. Item_Chart.
Jede dieser Item_... Klassen ist abgeleitet von einer Basisklasse (Item_Root).
Diese Klasse hat eine Property:
property ITEM_SubItems : TObjectList read FITEM_SubItems write FITEM_SubItems;
Damit lassen sich dann eben verschachtelte Strukturen erzeugen:
Code:
Item_Project
--> Item_Device
-->--> Item_Chart
Ob dieses Konstrukt nun der beste weg sei, das sei mal dahingestellt. Für mich erfüllt es seinen Zweck
Leider komme ich nicht drumrum einzelne Objecte in verschiedenen Listen einzufügen. Deshalb nutze ich dort dann OwnsObject = False.
Nur Sir Rufo hat schon Recht ... Das führt zu Problemen wenn man einen ganzen Projekt Tree (Ab Item_Project) entfernen möchte.