AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte in XML speichern

Ein Thema von EConvertError · begonnen am 19. Apr 2006 · letzter Beitrag vom 4. Mai 2006
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#24

Re: Objekte in XML speichern

  Alt 30. Apr 2006, 22:07
Hallo Andreas,

mit dem Hinweis auf das in MS SAX2 implementierte push model legst du den Finger in eine Wunde. In meiner Demo arbeite ich mit EINEM root object - nur so macht die gezeigte Methode Serialize() überhaupt Sinn. Die Signatur der Methode Deserialize() in meinem Beispiel ist übrigens durch Copy & Paste entstanden und sollte kein versteckter Hinweis auf eine Machbarkeit sein. Selbst wenn wir eine einzige Objekt-Verwaltungsinstanz als gegeben annehmen, würde ich angesichts der MS SAX2 Implementierung wohl eher auf zwei externe Funktionen setzen:

Delphi-Quellcode:
type
  TObjectManager = class; // to be coded

var
  root: TObjectManager;
  s: TStream;
  fn: TFileName;

begin
  fn := ChangeFileExt(ParamStr(0), '.xml');
  s := TFileStream.Create(fn, fmCreate or fmShareDenyWrite);
  root := TObjectManager.Create;
  // ... fill me up
  Serialize(root, s);
  root.Free;
  s.Free;
  s := TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite);
  root := Deserialize(s);
  // ... dump root
  root.Free;
  s.Free;
end;
Gute Nacht

marabu
  Mit Zitat antworten Zitat
 


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:18 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