Hi Leute
Ich komm hier einfach nicht weiter.
Ich versuche Daten aus einer
XML Datei zu lesen aber irgendwie geht gar nichts und die Anwendung bleibt einfach hängen.
Delphi-Quellcode:
function XML_Load(XMLFilename :
String; VST : TVirtualStringTree) : Boolean;
var
XMLDocument : TXMLDocument;
begin
Result := true;
try
XMLDocument := TXMLDocument.Create(
nil);
try
XMLDocument.NodeIndentStr := '
<2 Leerzeichen>';
XMLDocument.FileName := XMLFilename;
if (
not(FileExists(XMLFilename)))
or (XMLDocument.IsEmptyDoc)
then
begin
XMLDocument.LoadFromXML('
<?xml version="1.0"?><'+cXMLRootNodeName+'
></'+cXMLRootNodeName+'
>');
XMLDocument.SaveToFile;
end;
try
XMLDocument.Active := true;
except
ShowMessage('
XML Fehler: Die Datei "'+XMLFilename+'
" ist fehlerhaft.');
Result := false;
end;
//Des sind die verschiedenen Möglichkeiten die ich getestet hab
1. ShowMessage(XMLDocument.DocumentElement.NodeName);
//Hier bleibt er einfach stehen
2. ShowMessage(XMLDocument.Node.ChildNodes.Last.NodeName);
//hier funktionierts ABER bei dem bleibt er bei FreeAndNil(XMLDocument); dann hängen
3. ShowMessage(XMLDocument.ChildNodes.Last.NodeName);
//hier funktionierts auch bleibt aber wieder hier FreeAndNil(XMLDocument); hängen
finally
FreeAndNil(XMLDocument);
end;
except
ShowMessage('
XML Fehler: Fehler beim Laden des XML Documents');
Result := false;
end;
end;
Und hängen bleiben versteh ich: Er geht in die Codezeile hinein (Debugger) geht aber nie mehr raus und die Anwendung ist absolut eingefroren
Ich will den Root Knoten bekommen als Variable heraus bekommen ... nur so nebenbei