Hallo,
ich habe ein merkwürdiges Problem beim Einlesen einer selbst generierten
XML-Datei (soll als eine Art strukturierte ini dienen).
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dateutils, XMLIntf, XMLDoc, strutils, StdCtrls, ComCtrls;
function GetIniDaten:boolean;
var XmlDat : TXMLDocument;
i,j, kn, knl, t, lc : integer;
Nodelist, subnodelist : IXMLNodelist;
begin
// laden der abgespeicherten XML-Konfiguration
try
result := true;
if not fileexists('
datei.xml')
then
begin
result := false;
exit;
end;
XmlDat := TXMLDocument.Create('
datei.xml');
XmlDat.loadfromfile('
datei.xml');
XmlDat.active := true;
nodelist := xmldat.ChildNodes[0].ChildNodes;
for j := 0
to nodelist.count-1
do
begin
// hier folgt der (funktionierende) Code, auch wenn auskommentiert tritt der Fehler auf
end;
xmldat.active := false;
xmldat.free;
except
// result := false;
end;
end;
Der Fehler tritt erst am Ende der Funktion auf: Invalid Pointer
Wird die for-Schleife auch auskommentiert, kommt der Fehler nicht, ebensowenig wenn kein Verweis auf die Childnodes erfolgt.
Was hab' ich übersehen?
Version ist 2010 Professional