Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Objecte oder Objectlisten Speichern

  Alt 3. Jul 2005, 19:11
Zitat von richard_boderich:
@Maximov, guck mal bitte hier da ist das project an dem ich arbeite und eine Definition meines Objectes. Ist ne etwas fruehere version also sei nicht so streng mit mir.
...
Da controlls komponenten sind und man eben diese mit dem Component-streaming-system von delphi serialisieren kann, bietet es sich doch an zB. den TWriter zum speichern zu verwenden. Das wäre in etwa so:

Delphi-Quellcode:
myWrite:TWriter;
..
myWrite.WriteComponent(myMapObject);
...allerdings hast du so keine liste und geht evtl. nicht auf das eigentliche problem ein. Interessant wäre es zu wissen, was du letztendlich erreichen willst?

Zitat:
Apropos, was ist ein generischer Serialisierer???
Ein Serialisiere, also eine instanz, welche den inneren zustand von objekten in eine serielle representation (stream) verwandelt und dies sehr allgemein gehalten, sodass der serialisierer keine kenntnis von den tatsächlichen objekten haben braucht. Ein Deserialisierer würde aus dem stream dann wieder konkrete objekte machen.

So könnte ein solcher serialiserer aufgebaut sein:
Delphi-Quellcode:
type
  ISerializerStrategy = interface();
    function GetNameOfClass(aClass:TClass):string;
    function GetClassByName(const Name:string):TClass;
    ...
  end;

  TObjectSerializer = class
  protected
    procedure SerializeObject(aObject:TObject);
  public
    constructor create(stream:TStream; SerializerStrategy:ISerializerStrategy);
    procedure SerializeObjects(List:TObjectList);
  end;

...
// verwende:
var
  Serializer:TObjectSerializer;
...
  Serializer:=TObjectSerializer.Create(myStream, myStrategyImplementation);
  Serializer.SerializeObjects(myObjectList);
So in etwa Wobei das auch noch nicht sonderlich generich ist, da geht noch einiges mehr. Über die strategy kann der serialisieren rückfragen an den programmirer stellen, sodass das system keine ahnung haben braucht wo irgendwelche klassen registriert sind etc. zB. könnte man die strategy auch fragen, welche object überhaupt serialisiert werden sollen etc. Is so auch nur ne idee.

Zitat:


ich dachte die DP collection speichert alles was irgentwie Objectmaessig ist???
die dpCollection speichert nur collection items, welche du allerdings als container für TPersistent abkömmlinge konfigurieren kannst.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat