TMTSDataModule の構成

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

データ モジュールをセットアップする への移動


アプリケーションに TMTSDataModule コンポーネントを追加するには、[ファイル|新規作成|その他...]を選択し、[新規作成]ダイアログの[多層サポート]ページで[トランザクション データ モジュール]を選択します。 [トランザクション データ モジュール ウィザード]が開きます。

メモ: [トランザクション データ モジュール]を追加するには、その前に、[ActiveX]ページにある[ActiveX ライブラリ]をプロジェクトに追加しておく必要があります。

リモート データ モジュールのクラス名を指定しなければなりません。 これは、アプリケーションで作成する TMTSDataModule の下位クラス名の土台となるものです。 また、そのクラスのインターフェイスの名前の土台にもなります。 たとえば、クラス名を MyDataServer と指定すると、ウィザードでは、新しいユニットを作成して、そこで TMTSDataModule の下位クラスである TMyDataServer を宣言し、そのクラスで IAppServer の下位インターフェイスである IMyDataServer を実装します。

メモ: 新しく作成されるインターフェイスには、独自のプロパティやメソッドを追加することができます。 詳細については、「プラットフォーム アシスタント サーバー アプリケーション:PAServer」を参照してください。

[トランザクション データ モジュール ウィザード]では、スレッド モデルを指定しなければなりません。 [単一]、[アパートメント スレッド モデル]、[両方]の中から選択します。

  • [単一]を選択すると、クライアント要求がシリアル化され、アプリケーションは一度に 1 つの要求だけにサービスを提供することになります。 クライアント要求の相互干渉を気にする必要がありません。
  • [アパートメント スレッド モデル]を選択すると、作成したリモート データ モジュールの任意のインスタンスは一度に 1 つの要求だけにサービスを提供し、呼び出しは必ず同じスレッドを使用することが、システムによって保証されます。 リモート データ モジュール外のグローバル変数やグローバル オブジェクトを使用する場合には、スレッドの競合を防ぐ対策が必要です。 グローバル変数を使う代わりに、共有プロパティ マネージャを使うことができます。
  • [両方]を選択すると、MTS では、[アパートメント スレッド モデル]を選択した場合と同様に、リモート データ モジュールのインターフェイスを呼び出します。 ただし、クライアント アプリケーションに対して行うコールバックはシリアル化されるため、その相互干渉を気にする必要がありません。

メモ: MTS または COM+ のアパートメント モデルは、対応する DCOM のモデルとは異なっています。

また、リモート データ モジュールのトランザクション属性も指定しなければなりません。 以下のオプションから選択できます。

  • [トランザクションが必要]。 このオプションを選択すると、作成したリモート データ モジュールのインターフェイスをクライアントが使用するたびに、その呼び出しはトランザクションのコンテキストで実行されます。 呼び出し側からトランザクションが渡された場合は、新しいトランザクションを作成する必要はありません。
  • [新規トランザクションが必要]。 このオプションを選択すると、リモート データ モジュールのインターフェイスをクライアントが使用するたびに、その呼び出し用に新しいトランザクションが自動的に作成されます。
  • [トランザクションをサポート]。 このオプションを選択すると、リモート データ モジュールをトランザクションのコンテキストで使用できるようになりますが、そのトランザクションはインターフェイスの呼び出し時に呼び出し側から渡さなければなりません。
  • [トランザクションのサポートなし]。 このオプションを選択すると、リモート データ モジュールはトランザクションのコンテキストで使用できません。

関連項目