datasnap サーバーでオブジェクト参照を処理するには?
TUser オブジェクトを返す Datasnap サーバー メソッドがあります。
TServerMethods.CurrentUser(const AId: Integer): TUser
begin
Result := GlobalCurrentUser; // <- Don't want to free this object
Result.AddReference;
end;
TReferencedObject の子クラスの TUser
TReferencedObject = class(TObject)
private
FReferenceCnt: integer;
public
procedure AddReference; virtual;
procedure RemoveReference; virtual; // Frees object if reference count goes to 0
property ReferenceCnt: integer Read FReferenceCnt Write FReferenceCnt;
end;
現在、DataSnap サーバーは TUser オブジェクトを解放していますが、TReferencedObject の子孫に対して RemoveReference を呼び出したいと考えています。