Du hast überhaupt nichts umgestellt. Es ist der gleiche Fehler. Noch ein letztes Mal zum Mitdenken, dann geb´
ich auf -
Du versuchst die Datei in das
XML-Objekt "xmlDoc" zu laden,
Code:
[color=#ff0000]xmlDoc.load(xmlfilename)[/color]
aber erst
danach erzeugst du es:
Delphi-Quellcode:
xmlDoc := CoDOMDocument40.Create;
xmlDoc.setProperty('NewParser', true);
Meinst du wirklich, dass das so funktioniert?
Und selbst wenn du´s nun richtig herum machst, riskierst du den nächsten Fehler. Wenn die Datei nämlich nicht existiert, dann versuchst du
XML-Code in ein nicht erzeugtes
XML-Objekt zu schreiben:
Delphi-Quellcode:
if FileExists(xmlfilename)
then begin
xmlDoc := CoDOMDocument40.Create;
end
// Datei existiert nicht!
else xmldoc.loadXML('
<?xml version="1.0" encoding="iso-8859-1"?><BuddLister/>');
Bitte denk doch mal ein bisschen logisch.
Die Reihenfolge:
- XML-Objekt "xmlDoc" erzeugen
- prüfen, ob die Datei existiert
- wenn Ja, Datei laden
- wenn Nein, XML-Grundcode in das Objekt schreiben
- zur Sicherheit den geladenen XML-Code prüfen (zumindest den Namen des Root-Knotens)
- Wenn alles OK war, weiter im Programm ... im wahrsten Sinn des Wortes
Gruß.