Thema: Delphi TPersistent & Streaming

Einzelnen Beitrag anzeigen

EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#7

Re: TPersistent & Streaming

  Alt 12. Apr 2006, 13:47
Zugegeben, ich habe mich etwas von der .NET-Serialisierung inspirieren lassen.
Mir ist schon klar geworden, dass ich so etwas komfortables in Delphi (Win32) nie haben werde.

Genau, Khabarakh: Ich möchte wissen, wie man an die published-Eigenschaften (Name+Wert) rankommt und dann meinen eigenen TXmlWriter schreiben.

Allerdings geht es mir eher darum, dass ich 4-5 Klassen in meinem aktuellen Projekt habe, welche ich in eine XML-Datei speichern können muss. Dieses "automatische Speichern", sodass ich die Eigenschaften nicht mehr manuell zuweisen muss, ist mir hierbei nicht einmal von so großer Bedeutung (Wobei es natürlich äußerst praktisch wäre).

Ich habe auch schon an eine gemeinsame Basisklasse gedacht, die folgende Methoden hat:
Delphi-Quellcode:
procedure SaveToXML(const XmlDoc: IXMLDocument);
procedure LoadFromXML(const XMLDoc: IXMLDocument);
Der Haken hierbei ist: IXMLDocument (und IXMLNode) unterstützen kein WriteString(), WriteDate(), etc., wie es z.B. das TIniFile oder TRegistry tut. Das bedeutet, dass ich total viel doppelten Code in den einzelnen LoadFromXML/SaveToXML-Methoden habe. Freilich könnte ich von IXMLDocument eine Klasse ableiten, wobei ich hier wieder auf die Schwierigkeit stoße, wie ich die beliebigen Verschachtelungen, die bei XML möglich sind, manage.

Wenn möglich, würde ich gerne beim Delphi-eigenen-IXMLDocument bleiben, aber wenn es sein muss verwende ich auch MSXML.

[EDIT]Und dieses "Serialisierung" würde mich von derartigen Sorgen befreien (Schafft natürlich auch neue ). Wenn ihr was Besseres wisst, dann her damit.

Vielen Dank für eure Hilfe,
Andreas
Andreas N.
  Mit Zitat antworten Zitat