Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Konsolenanwendung und TXMLDocument


M.Mü - Di 25.11.08 13:16
Titel: Konsolenanwendung und TXMLDocument
Hallo,

ich versuche gerade in einer Konsolenanwendung eine XML Datei mittels TXMLDocument zu öffnen ... nur leider bin ich kläglich gescheitert.

Bis jetzt schaut wie folgt aus


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
    doc := TXMLDocument.Create(nil);
    doc.FileName := '...\Wert.xml';
    doc.Active := true;                 //-> hier erfolgt der Fehler (CoInitialize wurde nicht aufgerufen)
    root := GetRoot(doc);
    WriteLn('XML-Wert: ' + root.Wert);}
    WriteLn('Press return to exit');
    ReadLn;
    doc.Free;


Leider kann ich auch mit der Fehlermeldung net so recht etwas anfangen. Wenn ich das ganze normal mit nem Formular etc. mache, klappts.

Dass das doc keinen Owner hat wird ja sicherlich nicht der Fehler sein.

Hat irgend jemand damit schon Erfahrungen gesammelt?

VG M.Mü

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt


Xentar - Di 25.11.08 13:24

Weiß nicht, ob das was mit dem Problem zu tun hat, aber ich muss es einfach loswerden:
Ihh, relative Dateipfade..


M.Mü - Di 25.11.08 13:46

die drei Pünktchen habe ich nur dorthin gemacht, weil es ein ewig langer Rattenschwanz war. Datei und Pfad kann ich als Fehlerquelle ausschließen.


UGrohne - Di 25.11.08 14:28

Du musst CoInitialize(nil); vorher aufrufen.


M.Mü - Di 25.11.08 15:11

Was bewirkt CoInitialize? Ich werd aus der Delphi-Hilfe werd ich net ganz schlau.

Und ... in welcher Unit steht das? ... auch so ein Ding. Ich arbeite jetzt mit Delphi2006 und die "Delphi-Hilfe" hat enorm nachgelassen. Bei Deplhi 6 war die wesentlich besser.


M.Mü - Di 25.11.08 15:17

Ok, hat sich erledigt ... hab hier die Erklärung gefunden:

http://www.delphipraxis.net/topic17429_warum+coinitialize.html&highlight=coinitialize

Hab Dank, es funktioniert.