AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Zugriff auf XML im Projektordner klappt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf XML im Projektordner klappt nicht

Ein Thema von stev-e87 · begonnen am 28. Feb 2009 · letzter Beitrag vom 1. Mär 2009
Antwort Antwort
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#1

Zugriff auf XML im Projektordner klappt nicht

  Alt 28. Feb 2009, 10:24
Hallo werte Delphi Gemeinde,

habe ein Problem beim Zugriff auf eine XML- Datei. Ich benutze die Standard- Komponente TXMLDocument, gebe Ihr die Datei 'ico.xml' vor (liegt im Projektordner) und weise zur Laufzeit folgendes zu:

Delphi-Quellcode:
  XML.Active := true;
  ShowMessage(IntToStr(XML.DocumentElement.ChildNodes.Count)); //Testweise mal die Anzahl ausgeben lassen
Dabei tritt dann der Fehler auf: ...EDOMParseError...'Der Prozess kann nicht auf die Datei zugreifen, da Sie von einem anderen Prozess verwendet wird'

Ist eigentlich nicht unverständlich formuliert, nur find ich die Ursache für den Prozessübergriff nicht. Hab das hier in XML gepostet, da ein Zugriff auf Textdateien im Projektordner kein Prob ist und auch der XML Zugriff klappt, solange die Datei außerhalb liegt.


Hat jemand ne Ahnung???

MFG
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 28. Feb 2009, 13:37
Was ist jetzt genau?

Anscheinend ist deine Datei noch im Editor oder sonstwie geöffnet.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#3

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 1. Mär 2009, 10:39
Hallo,

das ist ja grad das Prob! Hab es eben nicht noch mal geöffnet. Wenn ich die Datei in ein anderes Verzeichnis lege klappts dann wieder. Nehme ich im Umkehrschluss noch ne andere XML aus dem Ordner mit den Projektdateien gehts wieder nicht.

Greift die IDE automatisch auf Dateien im Verzeichnis zu oder so?

thx
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 1. Mär 2009, 11:02
Zeig mal etwas mehr Code.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#5

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 1. Mär 2009, 11:42
Ok,

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lStream: TFileStream;
begin
 if cb_Proxy.Checked=True then
  begin
    HTTP_File.ProxyParams.ProxyServer:=txt_Proxy_IP.Text;
    HTTP_FIle.ProxyParams.ProxyPort:=Strtoint(txt_Port.Text);
  end;
 lStream:=TFileStream.Create('Data\ico.xml', fmCreate or fmShareDenyWrite);
  try
    try
    //Während der Tests wird die Zeile nicht benötigt, da die XML bereits auf der Platte ist.
    //HTTP_File.Get('http://www.t-knows.de/programs/iconcatcher/ico.xml',lStream);
    List_Icons;
    except
    On E : EDomParseError do
      begin
         MessageDlg('Es ist ein Fehler bei der Arbeit mit der Icondatenbank aufgetreten!',mtConfirmation,
          [mbOk], 0, mbOk);
            Exit;
      end;

    end;
  finally
    lStream.Free;
  end;
end;
Naja und sonst nix mehr als das...
Delphi-Quellcode:
procedure TForm1.List_Icons();
begin
  XML.Active := true;
  ShowMessage(IntToStr(XML.DocumentElement.ChildNodes.Count));
end;
end.
...was ich bereits eingangs postete. Die Eigenschaften wie Pfad zur Datei geb ich der Komponente via der Eigenschaftenseite.
Hmmm


Ahhhh!!!!!
Da fällts einem wie Schuppen von den Augen. Oje is ja peinlich... Ok der Selbstdemütigung wegen geb ich mal für die, denen es genauso spät auffällt wie mir die Lösung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lStream: TFileStream;
begin
 if cb_Proxy.Checked=True then
  begin
    HTTP_File.ProxyParams.ProxyServer:=txt_Proxy_IP.Text;
    HTTP_FIle.ProxyParams.ProxyPort:=Strtoint(txt_Port.Text);
  end;
 lStream:=TFileStream.Create('ico.xml', fmCreate or fmShareDenyWrite);
  try
    try
    HTTP_File.Get('http://www.t-knows.de/programs/iconcatcher/ico.xml',lStream);
    except
    On E : EDomParseError do
      begin
         MessageDlg('Es ist ein Fehler bei der Arbeit mit der Icondatenbank aufgetreten!',mtConfirmation,
          [mbOk], 0, mbOk);
            Exit;
      end;

    end;
  finally
    lStream.Free;
    List_Icons; //Muss natürlich hinter die Freigabe des Streams... *Schäm*
  end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 1. Mär 2009, 11:45
2 Dinge fallen mir auf. Erstens solltest Du immer absolute Pfade verwenden, da Du sonst nicht mit Bestimmtheit weißt, wo die Daten eigentlich landen. Und zweitens solltest Du niemals auf true abfragen.if cb_Proxy.Checked=True then Besser so:if cb_Proxy.Checked then
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#7

Re: Zugriff auf XML im Projektordner klappt nicht

  Alt 1. Mär 2009, 12:12
@DeddyH
Zitat:
if cb_Proxy.Checked then
Danke, wusste nicht, dass das auch so einfach geht.

Was das eigentliche Problem betraf, siehe mein letzter Beitrag im editierten Teil...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr.
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