Ich hab das nun hinbekommen. Aber nun habe ich das Problem, dass ich aus dem TreeView wieder direkt auf die
XML Nodes zu greifen möchte. Dazu speicher ich in der Data Eigenschaft der TTreeNodes einen Pointer zu den IXMLDOMNodes. Ich kann hinterher aber nicht wieder darauf zugreifen!?
Hier mal ein Codeschnipsel:
Delphi-Quellcode:
PIXMLDOMNode: ^IXMLDOMNode;
var
i, j: Integer;
aTree, NewParent: TTreeNode;
subNode, aNode: IXMLDOMNode;
begin
for i := 0 to Nodes.length - 1 do
begin
subNode := Nodes.item[i];
aTree := DialogTree.Items.AddChildObject(ParentNode, '', PIXMLDOMNode(subNode));
aNode := IXMLDOMNode(DialogTree.Items[i].Data);
Ich krich immer ne AccessViolation, bei der letzen Zeile! (Dass die hier keinen Sinn macht ist klar, ist nur zum Zweck des Zeigens.
Folgendes funktioniert aber:
Delphi-Quellcode:
var
i, j: Integer;
aTree, NewParent: TTreeNode;
subNode, aNode: IXMLDOMNode;
begin
for i := 0 to Nodes.length - 1 do
begin
subNode := Nodes.item[i];
aTree := DialogTree.Items.AddChildObject(ParentNode, '', PIXMLDOMNode(subNode));
aNode := IXMLDOMNode(aTree.Data);
Was mache ich falsch? Kann mir bitte wer dabei helfen? Ich verzweifele ^^