Delphi-PRAXiS

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.

ConnorMcLeod 13. Feb 2012 10:14

AW: Msxml
 
Code:
var XMLFile: IXMLDocument;
begin
  XMLFile:= newXMLDocument;
  if Assigned(XMLFile) then
  begin
    XMLFile.LoadfromFile(...);
    XMLFile.active:= true
    XMLFile.documentelement.childnodes[1]...
    XMLFile.saveToFile(...);
  end;
end;

MiniMax 13. Feb 2012 10:17

AW: Msxml
 
wo finde ich den denn?

MiniMax 13. Feb 2012 10:22

AW: Msxml
 
also den Processmanager?

DeddyH 13. Feb 2012 10:27

AW: Msxml
 
http://technet.microsoft.com/de-de/s...rnals/bb896645

MiniMax 13. Feb 2012 11:17

AW: Msxml
 
Hey, der Processmanager ist gold wert! Fehler gefunden -

Zitat:

Zitat von DeddyH (Beitrag 1150696)
Stehen da wirklich hartkodierte Pfade in Deinem Quelltext?
BTW: "not true" hab ich so noch nie gesehen :)

Ich habe vergessen diese Pfade zu ändern. Zum testen hatte ich sie fest drinne und durch die aufregung vergessen sie anzupassen!
Es funktioniert alles - Danke an alle


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.

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