Hallo!
Erst mal: Entschuldigung, dass ich mich jetzt erst melde. Ich war über das Wochenende "offline".
Ich habe nun noch folgende Änderung vorgenommen:
Delphi-Quellcode:
.....
X_Path := '//PROGRAMM[@PROGNUM=1]/LEVEL_A/LEVEL_B';
XML_CheckNodeList:=XMLDoc.selectNodes(X_Path);
XML_CheckNodeList.reset();
XML_CheckNode:= XML_CheckNodeList.nextNode();
while XML_CheckNode <> nil do
begin
u := XML_CheckNode as IUnknown;
//Knoteninfo in mem_2 ausgeben:
mem_2.lines.add(
inttohex(integer(u),6)+ ' : '+
XML_CheckNode.nodename
+ ': '+ XML_CheckNode.attributes.getNamedItem('TYPID').nodeValue
);
end;
end;
....
...und siehe da es geht....
Nun funktioniert es zwar, ich verstehe aber immer noch nicht so genau warum.
Ich habe versucht in der Hilfe einige Infos zu finden. Ganz klar ist es mir aber immer noch nicht.
Es muss wohl etwas mit der Art des Interfaces zu tun haben. Da ich aber in beiden Fällen (also mit und ohne IUnknown) "beim richtigen Knoten ankomme", scheint es mir, als sei da noch etwas temporär zwischengeschaltet, das quasi vermittelt???
Wie Du siehst stochere ich ziemlich im Nebel. Kannst Du mir vielleicht ein paar erklärende Worte spenden?
Gruß und vielen Dank,
StTüff