[ファイル]メニュー:インデックス への移動
リモートデータモジュール ダイアログを使って、デュアルインターフェイスのオートメーションサーバーとしてリモートアクセスできるデータモジュールを作成します。リモートデータモジュールは、多層データベース環境のクライアントとサーバーの間にあるアプリケーションサーバーに常駐します。
| 項目
|
説明
|
|
[CoClass Name]
|
リモートデータモジュールのオートメーションインターフェイスの基本名を入力します。リモートデータモジュール(TRemoteDataModule の下位クラス)のクラス名は、この名前の先頭に T を付けたものになります。このクラスは、この基本名の先頭に I(大文字のアイ)を名前のインターフェイスを実装します。クライアントアプリケーションからこのインターフェイスにアクセスできるようにするには、クライアントアプリケーションの接続コンポーネントの ServerName プロパティに、ここで指定した基本名を設定します。
|
|
[インスタンス生成]
|
[インスタンスの生成] コンボボックスを使って、リモートデータモジュールアプリケーションの起動方法を指定します。次の表に、指定可能な値を示します。
| 値
|
意味
|
|
内部
|
リモートデータモジュールはインプロセスサーバー内で作成される。このオプションを選択すると、リモートデータモジュールはアクティブなライブラリ(DLL)の一部として作成される
|
|
Single Instance
|
実行可能ファイルごとに、リモートデータモジュールの単独のインスタンスが作成される。各クライアント接続は、実行可能ファイルの独自のインスタンスを起動する。そのため、リモートデータモジュールのインスタンスは単一のクライアント専用となる
|
|
Multiple Instance
|
アプリケーション(プロセス)の単一のインスタンスが、クライアントのためにすべてのリモートデータモジュールのインスタンスを生成する。各リモートデータモジュールは、1 つのクライアント接続専用になりますが、すべて同じプロセス空間を共有します。
|
|
|
[スレッドモデル]
|
[スレッドモデル] コンボボックスを使って、クライアント呼び出しがリモートデータモジュールのインターフェーにどのように渡されるかを指定します。次の表に、指定可能な値を示します。
| 値
|
意味
|
|
シングルスレッドモデル
|
データモジュールは、1 回に 1 つのクライアント要求を受け付ける。クライアント要求はすべて COM によってシリアル化されるので、スレッドについて考慮する必要はない
|
|
アパートメントスレッドモデル
|
リモートデータモジュールの各インスタンスは、1 回に 1 つの要求に対応する。ただし、複数の COM オブジェクトを作成する場合、DLL は別々のスレッドにおいて複数の要求を処理することがある。インスタンスデータは安全であるが、グローバルメモリ上でのスレッドの競合を回避する措置が必要となる。BDE 対応データセットを使う場合の推奨モデルである(BDE 対応データセットを使用する場合、AutoSessionName を Ttrue に設定してセッションコンポーネントを追加する必要がある)
|
|
フリースレッドモデル
|
リモートデータモジュールのインスタンスは、複数のスレッドにおいて同時に複数のクライアント要求を受け付けられる。グローバルメモリ上でのスレッドの競合の回避とともに、インスタンスデータも保護しなければならない。ADO データセットを使う場合の推奨モデルである
|
|
フリー/アパートメント両用
|
クライアントインターフェイスへのすべてのコールバックがシリアル化される点を除いて Free と同じ
|
|
ニュートラル
|
複数のクライアントが異なるスレッドで同時にリモートデータモジュールを呼び出すことができるが、COM は 2 つの呼び出しが衝突しないことを保証する。複数のインターフェイスメソッドがアクセスするインスタンスデータやグローバルデータに関して、スレッドが衝突しないように保護する必要がある。このモデルは COM+ でのみ利用できる。そうでない場合は、アパートメントモデルにマップされる
|
|
|
[説明]
|
アプリケーションサーバーインターフェイスの ProgID の隣のレジストリに表示されるテキストを入力します。このテキストは、タイプライブラリ内のインターフェイスのヘルプ文字列としても使用されます。
|
|
[イベントサポートのためのコードを生成]
|
このボックスにチェックマークを付けた場合、イベントを管理するために別個のインターフェイスを実装することができます。
|
関連項目