Soap.InvokeRegistry.TRemotable
Delphi
TRemotable = class
C++
class PASCALIMPLEMENTATION TRemotable : public System::TObject
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Soap.InvokeRegistry.pas Soap.InvokeRegistry.hpp |
Soap.InvokeRegistry | Soap.InvokeRegistry |
説明
TRemotable は,Web サービスアプリケーションでパラメータまたは戻り値として渡されることができるクラスの基本クラスです。
TRemotable は,起動可能インターフェースのパラメータまたは戻り値に使用することができるクラスを定義するときの基本クラスとして使用します。TRemotable の下位オブジェクトは,非スカラー型や,Object Pascal の型に対応しないスカラー型を表すことができます。TRemotable は実行時型情報(RTTI)とともにコンパイルされ,リモート可能な型レジストリが認識してクラスインスタンスの提供に使用する仮想コンストラクタを持ちます。
メモ: Object Pascal の型に直接には対応しないスカラー値を表すクラスを作成するには,かわりに TRemotableXS を基本クラスとして使用します。TRemotableXS は TRemotable クラスの下位オブジェクトです。
メモ: TRemotable クラスの下位クラスを作成する場合は,stored 指令を使用して,プロパティを要素ノードとしてコード化するか属性ノードとしてコード化するかを制御できます。stored 指令を AS_ATTRIBUTE に設定して宣言されたプロパティは,属性ノードにコード化されます。stored 指令なし,または stored 指令に AS_ATTRIBUTE 以外を設定して宣言されたプロパティは,要素ノードにコード化されます。
クライアントアプリケーションおよびサーバーアプリケーションで TRemotable の下位オブジェクトを使用するには,事前にリモート可能なクラスレジストリに TRemotable の下位オブジェクトを登録しておく必要があります。リモート可能なクラスを登録するには,グローバル関数 RemTypeRegistry が返すオブジェクトの RegisterXSClass メソッドを使用します。
サーバーアプリケーションでは,起動可能インターフェースへの入力パラメータである,TRemotable の下位オブジェクトのインスタンスは,メソッド呼び出しのマーシャルが解除されたときに自動的に作成され,なんらかの出力パラメータまたは戻り値がマーシャルされた後で,そうしたパラメータや戻り値をクライアントへ送信できるように自動的に解放されます。起動可能インターフェースを使ってリモートに呼び出されたメソッドで TRemotable の下位オブジェクトが作成される場合,そのインスタンスは,TRemotable の下位オブジェクトの値がクライアントアプリケーションへの返信のためにマーシャルされた後で自動的に解放されます。
起動可能インターフェース(クライアント)の呼び出し側が,入力パラメータとして渡す TRemotable のインスタンスの作成を担当し,作成した TRemotable のインスタンスや,出力パラメータまたはメソッド結果として返された TRemotable インスタンスの解放も担当します。