Hi!
Also bis jetzt bin ich hiermit ganz gut gefahren:
Delphi-Quellcode:
type
TStreamableClass = class
private
fSetting1: ShortString;
fSetting2: ShortInt;
fSetting3: Boolean;
public
procedure ToStream(Stream: TStream);
procedure FromStream(Stream: TStream);
property Setting1: ShortString read fSetting1 write fSetting1;
property Setting2: ShortInt read fSetting2 write fSetting2;
property Setting3: Boolean read fSetting3;
end;
implementation
{ TStreamableClass }
procedure TStreamableClass.FromStream(Stream: TStream);
begin
Stream.Position := 0;
Stream.read(fSetting1, SizeOf(fSetting1));
Stream.read(fSetting2, SizeOf(fSetting2));
Stream.read(fSetting3, SizeOf(fSetting3));
end;
procedure TStreamableClass.ToStream(Stream: TStream);
begin
Stream.Position := 0;
Stream.Write(fSetting1, SizeOf(fSetting1));
Stream.Write(fSetting2, SizeOf(fSetting2));
Stream.Write(fSetting3, SizeOf(fSetting3));
end;
Man kann damit ganz einfach die Klasse in einen Stream schreiben (ToStream) und danach verschicken. Den empfangenen Stream kann man ganz einfach mit FromStream in die Klasse einlesen.
Ich weiß nicht, ob das ganz sicher ist, aber ich hatte noch keine Probleme...
Viele Grüße,
Chris