eigene Klasse / Objekt serialisieren



  • Moin,

    gleich noch eine Frage. In Jave kann man ja mit implements serializable seinem eigenen Objekt die Möglichkeit zur Persistierung geben. Wie schaut das denn unter C++ beim BCB aus? Ich hab in ner schnell geschriebenen Version einzelne Werte in eine ini-File geschrieben, was aber net sein kann. Gut, man kann lesen, was drin steht, aber leider auch die Werte verändern. Um das zu Verhindern, schreib ich grad ne eigene Klasse, die die Werte alle schön verwaltet und möchte nun, dass die Klasse sich auch in eine externe File schreiben und lesen kann. Hab zwar schon vorhin gegooglet, aber was wirklich aussagekräftiges, so wie ich mir das vorgestellt hab, hab ich noch net gefunden. Hat jemand ne Idee/Denkansatz oder gar nen Code Snipple?

    Florian



  • Meines Wissens gibt es unter Standard-C++ keinen Automatismus zum Serialisieren, was wohl auch daran
    liegt, dass C++ im Gegensatz zu Java recht wenig in Richtung Reflection bietet.
    Eine Möglichkeit beim BCB besteht darin, eine eigene Komponente zu basteln, deren Eigenschaften
    dann wie in der .dfm-Datei gespeichert werden können. Dazu kannst Du auch mal in der FAQ unter
    "Komponenten benutzen - WriteComponent / ReadComponent nachschauen". Der Aufwand dürfte aber um
    einiges höher sein als bei Java.

    Gruß,

    Alexander



  • Im Standard C++ nicht, aber in MFC ist es möglich eine Klasse zu serialisieren. Also denke ich mir muss das beim BCB auch irgendwie funktionieren. Zum Nachschauen der Link zur MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_serialization.3a_.making_a_serializable_class.asp. Wäre interessant, ob hier jemand eine Ahnung hat wie das bei Borland funktioniert.


Anmelden zum Antworten