Einzelnen Beitrag anzeigen

Benutzerbild von CK_CK
CK_CK

Registriert seit: 30. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Ganze Klassen über Lan verschicken?

  Alt 29. Mär 2007, 20:10
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
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat