コールバックの利用

提供: RAD Studio
移動先: 案内検索

DataSnap サーバー アプリケーション への移動


コールバックは、サーバー メソッドの実行中に、サーバーがクライアントに対して通信する必要がある場合に役立ちます。 コールバックを使うことで、JSON パラメータをクライアントに送り返すことができ、クライアントからは JSON 値をサーバーに返すことができます。

コールバックを渡すには、サーバー メソッドに TDBXCallback 型のパラメータが必要です。次の例を参照してください。

 procedure Callback(const PCallback: TDBXCallback);

サーバーの実装内では、任意の時点でコールバックを呼び出すことができます。

 PCallback.Execute(TJSONString.Create('test'));

この呼び出しは同期的に行われ、クライアントの JSON 値を返します。

クライアント側では、TDBXCallback クラスを拡張して、Execute メソッドをオーバーライドする必要があります:

 TCallbackClient = class(TDBXCallback)
     function Execute(const Arg: TJSONValue): TJSONValue; override;
   end;

サーバー メソッドは、クライアントのコールバック クラスのインスタンスを使って呼び出す必要があります。

コールバック パラメータはプロキシ インスタンスまたはサーバーが所有し、コールバックが完了すると解放されます。

関連項目