Hallo TiGü,
Zitat von
TiGü:
Deine Frage ist unklar.
]
Sie Anhang.
Ich hoffe, das erklärt meine Frage etwas...
Ich versuche es aber auch nochmal wie folgt darzustellen...
Meine VST Struktur sieht ja in etwa so aus...
Code:
-Kunde1
-Objekt1
-Objekt2
-Objekt3
-Kunde2
-Objekt1
-Objekt2
...
Wenn ich jetzt im VST auf Kunde1 "klicke", möchte ich natürlich die Daten des zugehörigen Kunden abfragen... Da ich ja nach aktueller Erklärung versuche das Ziel zu verfolgen, das ganze mit einem Record zu erschlagen, habe ich diesen aktuell als ersten Entwurf wie folgt aufgebaut...
Delphi-Quellcode:
type
pVSTNodeData = ^rVSTNodeData;
rVSTNodeData = record
KundenName, ObjektName, AnlagenTyp, AnlagenBezeichnung : WideString;
KundenNr, ObjektNr, AnlagenNr : Integer;
end;
Das heißt, in diesem Record sind alle notwendigen Daten. Dies ist aber falsch, da ja der Zusammenhang zwischen den verschiedenen Kunden und Objekten (Anlagen) nicht hergestellt werden kann. Dies wäre ja nur dann möglich, wenn z.B.
Objektname : array of WideString
wäre.
In der Datenzuweisung mache ich ja immer
Delphi-Quellcode:
//for-Schleife Kunden
pNode1 := vstKunden.AddChild(pNode);
Daten := vstKunden.GetNodeDate(pNode1);
Daten^.KundenName := 'Kunde';
//for-Schleife Objekte innerhalb der for-Schleife Kunden
pNode2 := vstKunden.AddChild(pNode1);
Daten := vstKunden.GetNodeDate(pNode2); //Hier ist ja der Zeiger auf einen ganz anderen record (logisch, anderer Node)
Daten^.KundenName := 'Kunde';
Dies würde aber ja bedeuten, das in der Datenebene "Kunde" die Felder "Objekt" etc. überflüssig sind (da nie genutz) und in der Datenebene "Objekt" das Felde "Kunde" überflüssig ist. Dies würde mich wieder in die Richtung meiner ehemaligen Lösung bewegen "3 Objekt/Records" zu erstellen. Je einen für die entsprechende "Node-Ebene"
Wenn ich Euch aber richtig verstanden habe, kann man das irgendwie mit dem NodeType oder ähnlich lösen. Und da Blick ich nicht richtig durch...
Ich hoffe, dass man das jetzt verstehen konnte...
Danke schon mal und Gruß Jens