[リモート データ モジュール ウィザード]

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

[ファイル]メニュー への移動

[ファイル|新規作成|その他...|多層サポート|リモート データ モジュール]

[リモート データ モジュール ウィザード]を使用すると、デュアル インターフェイスのオートメーション サーバーとしてリモート アクセスできるデータ モジュールを作成できます。 リモート データ モジュールは、多層データベース環境でクライアントとサーバーの間にあるアプリケーション サーバーに常駐します。

メモ: [多層サポート]ページは、ActiveX ライブラリ(リモート データ モジュールに必要)を作成した後で使用可能です。


項目 説明

[CoClass 名]

リモート データ モジュールのオートメーション インターフェイスの基本名を入力します。リモート データ モジュール(TRemoteDataModule の下位クラス)のクラス名は、この名前の先頭に T を付けたものになります。このクラスは、この基本名の先頭に I(大文字のアイ)を名前のインターフェイスを実装します。クライアント アプリケーションからこのインターフェイスにアクセスできるようにするには、クライアント アプリケーションの接続コンポーネントの ServerName プロパティに、ここで指定した基本名を設定します。

[説明]

アプリケーション サーバー インターフェイスの ProgID の隣のレジストリに表示されるテキストを入力します。 このテキストは、タイプ ライブラリ内のインターフェイスのヘルプ文字列としても使用されます。

[スレッド モデル]

[スレッド モデル]コンボ ボックスを使って、クライアント呼び出しがリモート データ モジュールのインターフェイスにどのように渡されるかを指定します。取り得る値の一覧を以下の表に示します。

意味

[シングル スレッド モデル]

データ モジュールは、1 回に 1 つのクライアント要求を受け付けます。 クライアント要求はすべて COM によってシリアル化されるため、スレッドについて考慮する必要はありません。

[アパートメント スレッド モデル]

リモート データ モジュールの各インスタンスは、一度に 1 つの要求を処理します。ただし、複数の COM オブジェクトを作成する場合、DLL は個別のスレッドで複数の要求を処理することがあります。インスタンス データは安全ですが、グローバル メモリ上のスレッド競合を防ぐ必要があります。

[フリー スレッド モデル]

リモート データ モジュールのインスタンスは、複数のスレッドにおいて同時に複数のクライアント要求を受け付けます。グローバル メモリ上でのスレッドの競合の回避とともに、インスタンス データも保護しなければなりません。ADO データセットを使う場合の推奨モデルです。

[フリー/アパートメント両用]

クライアント インターフェイスへのすべてのコールバックがシリアル化される点を除いて[フリー スレッド モデル]と同じです。

[ニュートラル]

複数のクライアントから異なるスレッドでリモート データ オブジェクトを同時に呼び出すことができますが、2 つの呼び出しに間で衝突がないよう COM によって保証されます。 複数のインターフェイス メソッドがアクセスするインスタンス データやグローバル データに関して、スレッドが衝突しないように保護する必要があります。 このモデルは COM+ でのみ使用できます。 そうでない場合は、アパートメント モデルにマップされます。

[インスタンス生成]

[インスタンス生成]コンボ ボックスを使って、リモート データ モジュール アプリケーションの起動方法を指定します。取り得る値の一覧を以下の表に示します。

意味

[内部]

リモート データ モジュールはインプロセス サーバー内で作成されます。このオプションを選択すると、リモート データ モジュールはアクティブなライブラリ(DLL)の一部として作成されます。

[単一インスタンス]

実行可能ファイルごとに、リモート データ モジュールの単一インスタンスが作成されます。各クライアント接続は、実行可能ファイルの独自のインスタンスを起動します。そのため、リモート データ モジュールのインスタンスは単一のクライアント専用となります。

[多重インスタンス]

アプリケーション(プロセス)の単一のインスタンスが、クライアントのためにすべてのリモート データ モジュールのインスタンスを生成します。各リモート データ モジュールは、1 つのクライアント接続専用になりますが、すべて同じプロセス空間を共有します。

[イベント サポートのためのコードを生成]

このボックスをオンにした場合、イベントを管理するために別個のインターフェイスを実装することができます。

関連項目