AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Systemvorausetzungen von XML?
Thema durchsuchen
Ansicht
Themen-Optionen

Systemvorausetzungen von XML?

Ein Thema von gsh · begonnen am 28. Aug 2007 · letzter Beitrag vom 1. Sep 2007
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Re: Systemvorausetzungen von XML?

  Alt 31. Aug 2007, 13:44
Zitat von gsh:
ich kann es höchstens so machen XMLDocument := TXMLDocument.Create; dann geht es zwar mal anscheinend ... aber ich kanns nicht freigeben
und warum wird das TXMLDocument objekt gleich nach dem konstruieren wieder freigegeben?
Das ist halt so bei Interfaces; unter Delphi werden diese automagisch vom Compiler freigegeben.

Du solltest die Funktion CreateXMLDoc aus Unit OmniXML verwenden.
Eigentlich hätten die Leute von OmniXML die Klasse TXMLDocument nach dem Keywort "implementation"
deklarieren müssen, damit man gar nicht diesen Fehler machen kann.

Ich habe auch gleich mal deine schlechte Exception-Behandlung berichtigt und
aus der function eine procedure gemacht.
Entweder die procedure läuft erfolgreich durch oder es wird eine Exception mit
aussagekräftiger Fehlermeldung erzeugt.

Delphi-Quellcode:
procedure XML_Load(XMLFilename : String; VST : TVirtualStringTree);
var
  XMLDocument : IXMLDocument; // <=== Interface !!
begin
    XMLDocument := CreateXMLDoc;
  try
    if FileExists(XMLFilename) then
        XMLDocument.Load(XMLFilename)
    else
        XMLDocument.LoadXML('<?xml version="1.0"?><List></List>');
   except
      on E:Exception do
      begin
         E.Message := 'XML Fehler beim Laden der Datei "'+XMLFilename+'"'#13#10+
            E.Message;
         raise;
      end;
   end;
   VST.Clear;
   VST.BeginUpdate;
   ShowMessage(XMLDocument.DocumentElement.NodeName);
   VST.EndUpdate;
end;
Andreas
  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 06:34 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