Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Members von Objekten speichern

  Alt 31. Jul 2009, 09:38
Du kannst ja den Properties unterschiedliche Sichtbarkeiten verpassen
Private, Protected, Puplic und Publisched ... dabei werden meißtens nur Puplished-Properties gespeichert.

Unter Umständen könnte man auch noch die Puplic-Properties auslesen, aber von den Restlichen gibt es keine Liste in der RTTI .... standardmäßig existiert soeine Liste nur von den Puplisheds, welche von der Sichtbarkeit ähnlich wie Puplic sind und im Grunde auch Speicherung vorgesehn wurden.

PS: Bei der VCL werden in der .DFM auch nur die Puplished-Properties gespeichert und im OI angezeigt.

Zitat von Optiplex:
Was ich nicht möchte, ist dass alle Members die Property sind gespeichert werden, sondern nur ausgesuchte, ich habe aber bis jetzt keine Routine gefunden mit der ich das bewerkstelligen könnte.
Zitat von Optiplex:
Bin aber auch nicht der XML Spezialist.
Bin ich auch nicht und hab erst vor kurzem damit angefangen.

Bei meinem himXML würde das Speichern so gehn
Delphi-Quellcode:
XML := TXMLFile.Create;
Try
  Node := XML.AddNode('object');
  Node.Serialize(Form1);
  XML.SaveToFile(...);
Finally
  XML.Free;
End;
Nur muß ich endlich mal Zeit und eine zündende Idee finden, um die Deserialisierung fertigzustellen.
Aktuell geht nur Speichern und das Laden nicht immer richtig

Aber zu Hier im Forum suchenXML und Serialisierung finden sich in der DP auch Beispiele für andere XML-Libs.

Oder man steigt auf Binärdateien um und nutzt die Objekt-Serialisierung, welche auch die VCL nutzt.
dafür muß man seine Klasse aber erstmal von TComponent ableiten und kann dann z.B. TFileStream.WriteComponent verwenden. (oh man, hab ich mich grad fast totgesucht ... ist schlimm, wenn man glaubt was zu kennen, aber nicht weiß wo es sich versteckt ... hatte erst eine SaveTo...-Funktion in TComponent gesucht )

Zitat von Optiplex:
Was mich etwas wundert ist, dass nur von dir einen Vorschlag bekommen habe.
sind Ferien = kaum wer da
und das mit der Serialisierung ist nunmal die Mitunder einfachste Variante, da wollte es wohl keiner doppelt erwähnen
$2B or not $2B
  Mit Zitat antworten Zitat