Zitat von
EConvertError:
1)Wie kann ich von TPersistent abgeleitete Objekte in einen Stream speichern?
Ich habe schon viele Beispiele für TComponent gesehen, aber diese für TPersistent umzubauen schaffe ich aufgrund meines (noch) zu kleinen
RTTI Wissens noch nicht.
Mit public Membern von TStream/TWriter geht das AFAIK nicht.
Zitat von
http://www.delphipraxis.net/internal_redirect.php?p=529907#529907:
Delphi-Quellcode:
type
TSettings = class(TComponent) // wer unbedingt TPersistent will, kann immer noch bspw. per Class-Hack TWriter.WriteProperties benutzen
...
Zitat:
2)Außerdem habe ich gesehen, dass in den Beispielen oft TWriter-Objekte direkt erstellt werden, was laut meiner
OH nicht getan werden soll. Ist das eine gute Idee?
Kommt drauf an
. Solange die Methoden reichen, würde ich bei TStream bleiben.
Zitat:
3) Ist es überhaupt eine gute Idee/bzw. guter Stil, das Delphi-Streaming-System dazu zu missbrauchen(Oder: Ist es überhaupt Missbrauch?)? Published properties für properties, die "eigentlich" nur public sein müssten, usw.?
Der einzige Sinn von published ist es, die Property für die
RTTI, also in erster Linie fürs Streaming, sichtbar zu machen. published ist nichts anderes als [Serializable], nur etwas unschöner
.