AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Problem mit TXMLDocument (Delphi7)

Problem mit TXMLDocument (Delphi7)

Ein Thema von mirage228 · begonnen am 25. Mär 2004 · letzter Beitrag vom 29. Apr 2004
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Problem mit TXMLDocument (Delphi7)

  Alt 25. Mär 2004, 18:49
Hi,

ich wollte heute mal mit dem TXMLDocument von Delphi 7 arbeiten.

Ich hab mir folgenden Code geschrieben: [FXMLFile ist der Dateiname vom Typ String und ja, die Datei existiert, und ja mit LoadFromFile habe ich es auch schon probiert :-\]

Delphi-Quellcode:
var
  XMLDocument : TXMLDocument;
begin
  XMLDocument := TXMLDocument.Create(FXMLFile);
  try
    XMLDocument.DOMVendor := DOMVendors.Find(DEFAULTDOMVENDOR);
    XMLDocument.FileName := FXMLFile;
    XMLDocument.Active := True;
    if XMLDocument.DocumentElement.NodeName = 'acitsettingsthen
    begin
      // einträge auslesen
    end;
  finally
    XMLDocument.Free;
end;
Jedoch führt der Zugriff auf DocumentElement zu einem Fehler:
Code:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt UT2003ACIT.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK  Hilfe  
---------------------------
Was habe ich falsch gemacht? Wie kann ich das Problem lösen?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Problem mit TXMLDocument (Delphi7)

  Alt 28. Mär 2004, 17:47
Sorry fürs pushen ( ), aber ich würde das Projekt gerne schnellstmöglich noch zu Ende machen.
Bitte, jemand muss doch wissen, wieso das bei mir nicht klappt...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Problem mit TXMLDocument (Delphi7)

  Alt 28. Mär 2004, 17:50
Hi,
schonmal mit Hilfe von Breakpoints geguckt, wo der Fehler liegt?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Problem mit TXMLDocument (Delphi7)

  Alt 28. Mär 2004, 17:59
Hi Chris,

der Zugriff auf "DocumentElement" bringt im Evaluator die obige AccessViolation (die im Programm dann ausgelöst wird) und danach einen EAbstractError. "DOMDocument" ist seltsamerweise auch nil, was eigentlich nicht sein dürfte.
Active ist auf True und FileName ist auch korrekt gesetzt...

Alles sehr seltsam...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Kastor

Registriert seit: 23. Feb 2004
25 Beiträge
 
#5

Re: Problem mit TXMLDocument (Delphi7)

  Alt 28. Mär 2004, 18:19
Hi,

Code:
var
  XMLDocument : TXMLDocument;
begin
  XMLDocument := TXMLDocument.Create(FXMLFile);
  try
    XMLDocument.DOMVendor := DOMVendors.Find(DEFAULTDOMVENDOR);
    XMLDocument.FileName := FXMLFile;
    XMLDocument.Active := True;
    if XMLDocument.DocumentElement.NodeName = 'acitsettings' then
    begin
      // einträge auslesen
    end;
  finally
    XMLDocument.Free;
end;
Ersetze mal das TXMLDocument durch ein
Code:
IXMLDocument
das ist so viel ich weiß ein Fehler in der Implementierung der TXMLDocument Klasse.

Gruß, Kastor
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Problem mit TXMLDocument (Delphi7)

  Alt 28. Mär 2004, 18:49
Danke, danke, danke, danke, danke!

Du bist mein Retter, jetzt klappt es ^^

Jetzt kann ich endlich weiter

mfG
mirage228

P.S.: Ich frage mich, wann Borland sich mal dazu herablässt das zu patchen
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
rschatzl

Registriert seit: 29. Apr 2004
1 Beiträge
 
#7

Re: Problem mit TXMLDocument (Delphi7)

  Alt 29. Apr 2004, 07:04
Hallo,
du versuchst den Constructor mit dem Filenamen auszuführen!
das führt natürlich zu einer Null Pointer Exception
XMLDocument := TXMLDocument.Create(FXMLFile);

um eine Instanz eines Objektes zu erzeugen musst du als Parameter den Owner mitgeben,
meistens wird es wohl ein Formular sein, also Aufruf mit Self Variable oder Formularname

XMLDocument := TXMLDocument.Create(self);
oder z.B
XMLDocument := TXMLDocument.Create(Form1);
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Problem mit TXMLDocument (Delphi7)

  Alt 29. Apr 2004, 12:33
Zitat von rschatzl:
Hallo,
du versuchst den Constructor mit dem Filenamen auszuführen!
das führt natürlich zu einer Null Pointer Exception
XMLDocument := TXMLDocument.Create(FXMLFile);

um eine Instanz eines Objektes zu erzeugen musst du als Parameter den Owner mitgeben,
meistens wird es wohl ein Formular sein, also Aufruf mit Self Variable oder Formularname

XMLDocument := TXMLDocument.Create(self);
oder z.B
XMLDocument := TXMLDocument.Create(Form1);
Hi,

so geht es natürlich.

Aber wieso wird dann auch ein Dateiname im Konstruktor angeboten?

Hm, naja mit IXMLDocument läuft es auf jeden fall.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf