タイプ ライブラリ情報のインポート

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

COM クライアントの作成:インデックス への移動


COM サーバーに関する情報をクライアント アプリケーションで使用できるようにするには、サーバーのタイプ ライブラリに格納されているサーバー情報をインポートする必要があります。 アプリケーションでは、その結果生成されるクラスを使用して、サーバー オブジェクトを制御できます。

タイプ ライブラリ情報をインポートする方法は次の 2 とおりあります。

  • [コンポーネントのインポート]ウィザードを使用して、サーバー型、オブジェクト、インターフェイスについての利用可能な情報をすべてインポートできます。 これは最も一般的な方法です。任意のタイプ ライブラリから情報をインポートできるほか、タイプ ライブラリ内の作成可能な CoClass のうち、Hidden、Restricted、PreDeclID のフラグが付いていないすべての CoClass のコンポーネント ラッパーをオプションで生成できるからです。
ActiveX コントロールのタイプ ライブラリからインポートする場合も、[コンポーネントのインポート]ウィザードを使用できます。 この場合も、同じ型情報がインポートされますが、ActiveX コントロールを表す CoClass のコンポーネント ラッパーのみ作成されます。
  • コマンドライン ユーティリティ TLIBIMP.EXE を使用できます。このユーティリティには、IDE 内からは使用できない付加的な構成オプションが用意されています。
ウィザードを使って生成されたタイプ ライブラリが、[タイプ ライブラリの取り込み]を選択した場合と同じメカニズムで自動的にインポートされます。

どの方法でタイプ ライブラリ情報をインポートしても、その結果表示されるダイアログで TypeLibName_TLB(TypeLibName はタイプ ライブラリ名)という名前のユニットが作成されます。 このファイルには、タイプ ライブラリに定義されているクラス、型、インターフェイスの宣言が記述されています。 このファイルをプロジェクトに組み込むことで、それらの定義がアプリケーションで使用できるようになるため、オブジェクトを作成しそのインターフェイスを呼び出すことができます。 このファイルは IDE により再作成されることがあるため、このファイルに手動で変更を加えることは避けてください。

このダイアログでは、TypeLibName_TLB ユニットに型定義を追加できるだけでなく、タイプ ライブラリに定義されている CoClass の VCL クラス ラッパーを作成することもできます。 [タイプ ライブラリの取り込み]を選択する場合、これらのラッパーはオプションです。 [ActiveX コントロールの取り込み]を選択する場合、コントロールを表すすべての CoClass に対して常にラッパーが生成されます。

生成されたクラス ラッパーは、アプリケーションに対して CoClass を表し、そのインターフェイスのプロパティとメソッドを公開します。 CoClass がイベント生成用のインターフェイス(IConnectionPointContainer および IConnectionPoint)をサポートする場合、VCL クラス ラッパーはイベント シンクを作成するので、イベントに対しても他のコンポーネントの場合と同じように簡単にイベント ハンドラを割り当てることができます。 生成された VCL クラスを[ツール パレット]にインストールすることを選択した場合は、[オブジェクト インスペクタ]を使用してプロパティ値やイベント ハンドラを割り当てることができます。

タイプ ライブラリのインポート時に生成されるコードの詳細は、「タイプ ライブラリ情報のインポート時に生成されるコード」を参照してください。

関連項目