Hi,
der Umgang mit TXMLDocument ist gelinde gesagt, ganz großer Schrott!!!
Ich hab erst kürzlich damit gearbeitet, und genau diesen Fehler gehabt.
Versuch es mal so (bei dem Teil muss man mit Interface-Instanzen arbeiten, aber frag mich nicht, warum):
Delphi-Quellcode:
Procedure TForm1.cmd1Click( Sender: TObject );
Var
XML: IXMLDocument;
// <-- Interface!!!
Begin
XML :=
Nil;
{ odFile == TOpenDialog }
If odFile.Execute
Then Begin
Try
XML := TXMLDocument.Create(odFile.FileName);
{ txtOut == TMemo }
txtOut.Lines.Append( '
Version:'#9#9 +
XML.Version );
txtOut.Lines.Append( '
Encoding:'#9 +
XML.Encoding );
txtOut.Lines.Append( '
StandAlone:'#9 +
XML.StandAlone );
txtOut.Lines.Append( '
NamespaceURI:'#9 +
XML.DocumentElement.NamespaceURI );
txtOut.Lines.Append( '
LocalName:'#9 +
XML.DocumentElement.LocalName );
Finally
XML :=
nil;
// <-- wird nicht über Free gemacht
End;
End;
End;