ディスパッチ インターフェイスによるオートメーション サーバーの制御

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

タイプ ライブラリ定義に基づいたクライアント コードの作成 への移動


一般には、デュアル インターフェイスを使用して、オートメーション サーバーを制御します。ただし、使用可能なデュアル インターフェイスがないために、ディスパッチ インターフェイスでオートメーション サーバーを制御しなければならない場合もあります。

ディスパッチ インターフェイスのメソッドを呼び出すには、次の手順に従います。

  1. グローバル関数 CreateOleObject を使って、サーバーに接続します。
  2. as 演算子を使用して、CreateOleObject から返された IDispatch インターフェイスを CoClass のディスパッチ インターフェイスにキャストします。このディスパッチ インターフェイス型は、<タイプ ライブラリ名>_TLB ユニットに宣言されています。
  3. ディスパッチ インターフェイスのメソッドを呼び出すことにより、オートメーション サーバーを制御します。ディスパッチ インターフェイスのもう 1 つの使い方は、それらを Variant に代入することです。CreateOleObject から返されたインターフェイスを Variant オブジェクトに代入することにより、Variant 型に組み込まれているインターフェイス サポートをうまく利用することができます。インターフェイスのメソッドを呼び出すだけで、Variant がすべての IDispatch 呼び出しを自動的に処理して、ディスパッチ ID を取得し、該当するメソッドを起動します。Variant 型には、var を介した、ディスパッチ インターフェイス呼び出しのサポートが組み込まれています。
  V: Variant;
begin
  V:= CreateOleObject("TheServerObject");
  V.MethodName; { calls the specified method }
  ...

Variants を使用するメリットは、タイプ ライブラリをインポートする必要がないことです。Variants では、標準の IDispatch メソッドだけを使用してサーバーを呼び出すからです。その反面、Variants は実行時に動的バインディングを使用するため、動作が遅くなります。

関連項目