Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Abspeichern von Objekten ??

  Alt 19. Okt 2005, 11:25
Hallo Grishnak,

dein Ansatz ist mein Ansatz - ich verwende allerdings LoadFromStream(), leite von einer abstrakten Klasse ab und überlasse den Komponenten die Speicherung, die diese Methode schon selbst mitbringen:

Delphi-Quellcode:
type
  TPersistentObject = class
  public
    procedure LoadFromStream(Stream: TStream); virtual; abstract;
    procedure SaveToStream(Stream: TStream); virtual; abstract;
  end;

  TOHeader = class(TPersistentObject)
  public
    HDR_TYP : String[20];
    No : String;
    ...
    RegistrierNr : TStringList;
    ...
    procedure LoadFromStream(Stream: TStream); override;
    procedure SaveToStream(Stream: TStream); override;
  end;

implementation

procedure TOHeader.SaveToStream(Stream: TStream);
var
  dw: DWORD;
begin
  Stream.Write(HDR_TYP[0], Succ(Length(HDR_TYP)));
  dw := Length(No);
  Stream.Write(dw, SizeOf(dw));
  Stream.Write(No[1], Length(No));
  ...
  RegistrierNr.SaveToStream(Stream);
  ...
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat