Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSClass
Delphi
procedure RegisterXSClass(AClass: TClass; const URI: InvString = ''; const Name: InvString = ''; const ExtName: InvString = ''; IsScalar: Boolean = False; MultiRefOpt: TObjMultiOptions = ocDefault);
C++
void __fastcall RegisterXSClass(System::TClass AClass, const System::UnicodeString URI = System::UnicodeString(), const System::UnicodeString Name = System::UnicodeString(), const System::UnicodeString ExtName = System::UnicodeString(), bool IsScalar = false, TObjMultiOptions MultiRefOpt = (TObjMultiOptions)(0x0));
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Soap.InvokeRegistry.pas Soap.InvokeRegistry.hpp |
Soap.InvokeRegistry | TRemotableTypeRegistry |
説明
リモート可能なクラスを登録します。
RegisterXSClass メソッドを呼び出すと,リモート可能なクラスを登録して,クライアントアプリケーションと Web サービスプロバイダの間で通信するようにできます。すべてのリモート可能なクラスは実行時型情報とともにコンパイルされて,仮想コンストラクタを持ちます。この仮想コンストラクタは,リモート可能な型レジストリが認識してクラスのインスタンスの指定に使用します。
リモート可能なクラスが TRemotable の下位オブジェクトである場合は,そのクラスを使用して,起動可能インターフェースのパラメータおよび戻り値を非スカラー型で表すことができます。リモート可能なクラスが ERemotableException の下位オブジェクトである場合,そのクラスを使って Web サービスアプリケーションは,クライアントに対して例外クラスのすべてのパブリッシュプロパティを含んだ例外パケットを送信することができます。
AClass は,リモート可能なクラスへのクラス参照です。Delphi では,コードの中でクラス名を使ってこのクラス参照を指定します。C++ では,__classid キーワードを使用して,特定のクラスのこのクラス参照を取得できます。
URI は,クラスと関連付ける名前空間 URI です。この名前空間 URI は,クラスを一意に識別する必要があります。このパラメータを省略した場合,または空の文字列を指定した場合,RegisterXSClass は名前空間 URI を生成します。生成は,クラスの名前,クラスが宣言されているユニットの名前,およびグローバル変数 AppNameSpacePrefix の値に基づいて行われます。名前空間 URI については,クライアントアプリケーションおよびサーバーアプリケーションの両方で同じでなければならない点に注意してください。つまり,名前空間 URI を明示的に指定しない場合,クラスはユニット内で同じ名前で宣言されなければならず,AppNameSpacePrefix の値も,クライアントアプリケーションおよびサーバーアプリケーションの両方で同じでなければなりません。
Name は,クラスが表す型の名前です。Name は,クラスと WSDL ドキュメントでのクラス定義をマッピングするために使用されます。
ExtName は,Name と同じです。
IsScalar は,クラスがスカラー型を表すかどうかを示します。スカラー型を表すリモート可能なクラスは,XSToNative メソッドおよび NativeToXS メソッドを実装する必要があります。
MultiRefOpt は,クラスの同一インスタンスへの複数の参照が,SOAP 表現に変換されるときにどのように処理されるかを示します。詳細については,ClassOptions メソッドのトピックを参照してください。