Dass über das Protokoll eine ObjektId übertragen wird ist schon klar.
Ich meinte mit meiner Frage, ob Du dann die Ausführung im Objekt "TPerson.SwipNames(...)" durchführen würdest (also Objekte auch Businessfunktionalitäten ausführen können) oder ob Du das grundsätzlich vermeiden (und nur vom Manager aus, also von außen, den Tausch der Werte des Objektes vornehmen) würdest.
Inzwischen hat sich die Frage für mich aber erübrigt, da in meinem aktuellen Test im Client kein TPerson-Objekt erzeugt wird sondern lediglich TClientDataObjekte, die als Datenspeicher dienen. Realisiert wird das über eine StringList und dessen Names und Values.
Delphi-Quellcode:
TClientDataObject = class(TComponent)
private
FId: TssfId;
FTS: TDateTime;
FSL: TStringList;
FLTS: TDateTime;
public
constructor Create(Owner: TComponent); override;
destructor Destroy; override;
published
property Id: TssfId read FId write FId;
property TS: TDateTime read FTS write FTS;
property SL: TStringList read FSL write FSL;
property LTS: TDateTime read FLTS;
end;
Der Client und die ClientDataObjekte wissen somit nichts von den eigentlichen Geschäftsobjekten (abgesehen davon, dass man noch so eine Art ClassName zuweisen kann, den der Client bei Bedarf interpretieren kann).
Es ist somit möglich, die Businessobjekte mit einer vollständigen Funktionalität auszustatten, ohne dass dies auf dem Client störend sein könnte.
Auf dem Client müsste lediglich die
GUI-Logik laufen, die ggf. beim Server die benötigten Informationen abholt.