![]() |
Serialisieren mit dpcollection?
Hallo,
ich habe hier mehrere Objekte, die von einer basisklasse abstammen. Wenn ich diese basisklasse von TCollectionItem ableite, kann ich die Objekte dann in einer Collection speichern? Mir ist aber auch jeder andere Serialisierungsansatz recht, bei dem ich nicht in jeder Unterklasse eine Serialize-Methode bauen muss, in der ich alles selbst speichern muss. Das wär sozusagen worst case. |
Re: Serialisieren mit dpcollection?
Ja, das müsste gehen - solange du das zu speichernde Zeg als published deklarierst etc. ;)
|
Re: Serialisieren mit dpcollection?
@jfheins: Das ist mir klar.
Mein Problem bis jetzt:
Delphi-Quellcode:
Gibt mir ja ein Objekt meiner basisklasse - und mit dem kann ich absolut nix anfangen, das ist eine abstraktze Klasse.
TJsCollection.Add
Aber im Tutorial hab ich jetzt auch das mit den Untercollections gesehen, glaube, das hilft mir weiter. |
Re: Serialisieren mit dpcollection?
Wenn es sich wirklich nur um ein Objekt samt Unterobjekten handelt, du also keine koplizierte Datenstuktur(in einanderer verschachtelt, mehrere Serien, mehrdimensional, ...(die dpCollection is in dieser Hinsicht sehr mächtig)) und dich in bisschen Overhead nicht stört, kannst dus auch folgendermaßen machen:
Delphi-Quellcode:
N funktionierendes Codebeispiel gibts u.a. hier:
TData = class(TComponent) // der besagte Overhead
private sl: TStringList; Button: TButton; ... published properties... end; ... Data = TData.Create; ... Stream.WriteComponent(Data); //Daten speichern Stream.SaveToFile(...); ... Stream.LoadFromFile(...); Stream.ReadComponent(Data); ![]() Für einfache Datenstrukturen mit festem Format sehr einfach und schnell getippt... mfg Christian |
Re: Serialisieren mit dpcollection?
Darf ich mal? Ganz laut? ROFLMAO!
Damit ist eigentlich alles hinfällig geworden... ich meine, ich hantiere hier ja mit waschechten Komponenten. :lol: Und ich denk da monatelang nach, wie ich denn jetzt meine Komponenten serialisiere... |
Re: Serialisieren mit dpcollection?
Zitat:
Sehr praktisch... RTTI steht zwar immer noch auf meiner Liste, aber das hab ich im verlinkten Thread gelernt... Müsst, wenn ich Zeit hab, wirklich mal gucken, was die RTTI noch so auf Lager hat... mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 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