Einzelnen Beitrag anzeigen

Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#1

XML: EAccessViolation, beim Laden eines Eintrags

  Alt 17. Mai 2007, 00:13


Benutze nur die Standard-Komponente TXMLDocument (TurboDelphi schon dabei, von daher..).

Ich habe folgende XML-Datei:

Delphi-Quellcode:
<?xml version="1.0" encoding="ISO-8859-1"?>

<all_men>
 <spieler_001>
  <main_daten>
   <vorname>Rafael</vorname>
   <nachname>Nadal</nachname>
   <alter>20</alter>
   <geburtstag>03-06-1986</geburtstag>
   <land>Spanien</land>
   <groesse>185</groesse>
   <gewicht>85</gewicht>
   <profi>2001</profi>
   <spielhand>links</spielhand>
   <rueckhand>beidhändig</rueckhand>
   <belag>Sand</belag>
   <rang>2</rang>
   <rang2007>2</rang2007>
   <stil>Schneller Läufer mit sehr starker Vorhand</stil>
  </main_daten>
  <faehigkeiten>
   <schlagen>
    <vorhand>
     <kraft>94</kraft>
     <winkel>92</winkel>
     <kontrolle>94</kontrolle>
    </vorhand>
    <rueckhand>
     <kraft>85</kraft>
     <winkel>86</winkel>
     <kontrolle>89</kontrolle>
    </rueckhand>
   </schlagen>
  </faehigkeiten>
 </spieler_001>
</all_men>
Jetzt wollte ich den Vornamen einfach mal in ein Memo ausgeben lassen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 XMLDocument1.Active:=true;
 XMLDocument1.FileName:=(ExtractFilePath(ParamStr(0))+'test.xml');
 Memo1.Lines.Add(XMLDocument1.DocumentElement.ChildNodes['all_men'].ChildNodes['spieler_001'].ChildNodes['main_daten'].ChildNodes['vorname'].Text);
 XMLDocument1.Active:=false;
end;
Wenn ich dann den Button drücke, bekomme ich eine EAccessViolation. Die Datei existiert, der Pfad stimmt ebenfalls.

Wo ist hier der Fehler?
mfg zecke
  Mit Zitat antworten Zitat