Hallo Sascha,
in einem anderen thread von dir hatte ich dich auf eine Demo aufmerksam gemacht. In dieser Demo zeige ich unter anderem, dass gar keine Suche nach einem Knoten nötig ist, wenn man in Node.Data eine Referenz mitführt. Alternativ zu der Klasse TReference kannst du das reference counting auch selbst erledigen:
Delphi-Quellcode:
// n := TreeNodes.AddChildObject(nParent, s, TReference.Create(eChild));
n := TreeNodes.AddChildObject(nParent, s, Pointer(eChild));
eChild._AddRef;
Die gleiche Technik kannst du auch bei ListItems anwenden. Erweitere deine Struktur einfach um einen interface pointer für das entsprechende
XML-Element.
An deinem Code kann es übrigens nicht liegen, dass die NodeList leer ist. Eher an den Daten, die du in den Filterausdrücken einsetzt.
Grüße vom marabu