Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Msxml (https://www.delphipraxis.net/166419-msxml.html)

MiniMax 13. Feb 2012 08:34

Msxml
 
Moin Zusammen,
ich habe mal wieder ein Problem:
Ich habe ein Proggi geschrieben welches eine XML einliest bearbeitet und speichert. Auf meinem PC läuft alles. Jetzt gehe ich an einen Anderen Rechner und es geht net mehr! Ich bekomme entweder (in der Konsole) die Fehlermeldung "DomParserError: Gerät nicht bereit" oder auf noch ein anderen PC "DomParserError: Das System kann den Angegebenen Pfad nicht Finden". Ich verwende das IXMLDocument:

Code:
var XMLFile: IXMLDocument;
begin
XMLFile:= newXMLDocument;
XMLFile.LoadfromFile(...);
XMLFile.active:= true
XMLFile.documentelement.childnodes[1]...
XMLFile.saveToFile(...);
end;
Ich bin am Verzweifeln! Hat jemand eine Idee?

jaenicke 13. Feb 2012 08:39

AW: Msxml
 
Hast du vielleicht die Pfadangabe vergessen? Nur ein Dateiname funktioniert logischerweise nicht.

MiniMax 13. Feb 2012 08:48

AW: Msxml
 
wie meinst du das?

Code:
var
  XmlFile: IXMLDocument;
  i,a:Integer;
  begin
      XmlFile:= newXMLDocument;
      CopyFile('D:\Werke\GUI\XML-Gen\Templates\uav1.xtop','D:\Werke\GUI\XML-Gen\Outputs\uav1.xtop',not true);
      WriteLn('Load File');
      XMLFile.LoadFromFile('D:\Werke\GUI\XML-Gen\Outputs\uav1.xtop');
      WriteLn('Activate XMLDoc');
      XMLFile.Active:= true;
      writeln('Writing uav1.xtop');
      for I := 1 to Length(input_csv)-1 do begin
        XMLFile.DocumentElement.ChildNodes['tns:types'].ChildNodes[0].AddChild('tns:variable');
        XMLFile.DocumentElement.ChildNodes['tns:types'].ChildNodes[0].ChildNodes[I-1].SetAttributeNS('name','',input_csv[I ,2]);
        XMLFile.DocumentElement.ChildNodes['tns:types'].ChildNodes[0].ChildNodes[I-1].SetAttributeNS('type','',input_csv[I ,0]);
      end;

    {...}
      XMLFile.SaveToFile('D:\Werke\GUI\XML-Gen\Outputs\uav1_som.xml');
      WriteLn('uav1_som.xml has been written');


      WriteLn('Ready');
  end;

DeddyH 13. Feb 2012 08:51

AW: Msxml
 
Stehen da wirklich hartkodierte Pfade in Deinem Quelltext?
BTW: "not true" hab ich so noch nie gesehen :)

MiniMax 13. Feb 2012 08:56

AW: Msxml
 
die pfade setze ich in einer conf datei .. ich wollte sie hier nicht auch noch posten :D
not true .. ich weis das ist wenn man müde ist :P
aber woher kommen die Fehler?

DeddyH 13. Feb 2012 09:00

AW: Msxml
 
Ist die kopierte Datei auch tatsächlich vorhanden? Ich würde einmal den Rückgabewert von CopyFile prüfen.

MiniMax 13. Feb 2012 09:01

AW: Msxml
 
jap ist sie sie liegt schon im ordner :D
Aber es würde ja so nen fehler geben beim laden ..

ConnorMcLeod 13. Feb 2012 09:05

AW: Msxml
 
In welcher Zeile passiert der Fehler? Ohne mit MsXml gearbeitet zu haben, vermute ich, dass
Delphi-Quellcode:
XmlFile:= newXMLDocument;
den Fehler bringt. Vllt, weil die Installation der IE-Sachen anders/nicht erfolgt ist. Kann man das mit
Delphi-Quellcode:
Assigned
prüfen?

MiniMax 13. Feb 2012 10:11

AW: Msxml
 
wie meinst du das mit assign?

jaenicke 13. Feb 2012 10:13

AW: Msxml
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nein, das geht problemlos.

Ich vermute, dass der Zielpfad nicht existiert oder so etwas. Schau am besten kurz in den Process Monitor, dann siehst du ja wo der Zugriff schiefgeht. Das sieht dann z.B. so aus:

Anhang 36237

Das Verzeichnis Tempd existiert bei mir nicht, daher der Fehler.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz