Autor Beitrag
gala
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Mo 12.05.03 13:00 
Hallo Leute,

ich arbeite jetzt mit IXMLDocument. Habe jetzt kleine Methode zum Testen geschrieben, wo Inhalt des XML-Datei gelesen wird und in eine Datei geschrieben wird. Aber da kommt immer eine Exceprion raus:

"Eine Exeption der Klasse EOleSysError aufgetreten, Meldung 'CoInitialize wurde nicht aufgerufen'". Hier ist die Code:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
uses xmldom,XMLIntf,msxmldom,XMLDoc;

procedure XMLEinlesen;
var
  myFirstXML          : IXMLDocument;
 i,j : Integer;
  f: TextFile;
begin
myFirstXML := newXMLDocument; //Hier kriege ich Exception
myFirstXML.LoadFromFile('C:/test.xml');
AssignFile(f, 'C:/test.txt');
    Append(f);
    for i := 0 to myFirstXML.DocumentElement.ChildNodes.Count -1 do
     for j := 0 to myFirstXML.DocumentElement.ChildNodes[i].ChildNodes.Count -1 do
    Writeln(f, myFirstXML.DocumentElement.ChildNodes[i].ChildNodes[j].Attributes['KO_NAME']);
    Flush(f);
    CloseFile(f);
end;

Exception kriege ich in der Zeile "myFirstXML := newXMLDocument;". Ich verstehe nicht, was ich falsch mache :( Hat vielleicht jemand eine Lösung?

Danke im Voraus

gala

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.05.03 13:45 
Ich benutze zwar die Typbibliothek von Microsoft (meist MS-XML 3), aber da wird dann vorher das getan, was bei dir bemängelt wird:
ausblenden Quelltext
1:
2:
if(CoInitialize(nil) <> S_OK) then
  Halt;

Am Ende des Programms folgt dann ein
ausblenden Quelltext
1:
CoUninitialize;					

Probier´s mal aus. Bei mir gab´s in der Richtung keinerlei Probleme. :) Unit "ActiveX" nicht vergessen.