オートメーション クライアント : タイプ ライブラリの使用
更新 : 2007 年 11 月
オートメーション クライアントからサーバーのオブジェクトを操作するには、オブジェクトのプロパティとメソッドに関する情報が必要です。プロパティはデータ型を持っています。通常、メソッドは値を返し、パラメータを受け取ります。クライアントは、これらすべてのデータの型に関する情報がないと、サーバーのオブジェクト型に静的にバインドできません。
この型情報を知る方法はいくつかあります。推奨されるのは、タイプ ライブラリを作成する方法です。
MkTypLib の詳細については、Windows SDK を参照してください。
Visual C++ は、タイプ ライブラリ ファイルを読み込んで、COleDispatchDriver の派生ディスパッチ クラスを作成できます。このクラスのオブジェクトは、サーバー オブジェクトのプロパティと動作の複製を持っています。アプリケーションからこのオブジェクトのプロパティや動作を呼び出すと、COleDispatchDriver クラスから継承した機能を通じて OLE システムが呼び出されます。この結果、サーバー オブジェクトのプロパティや動作を利用できるようになります。
プロジェクトの作成時にオートメーションのサポートを選択しておくと、タイプ ライブラリ ファイルは Visual C++ によって自動的に保持されます。ビルドを行うたびに、MkTypLib によって .tlb ファイルが作成されます。
タイプ ライブラリ (.tlb) ファイルからディスパッチ クラスを作成するには
クラス ビューまたはソリューション エクスプローラでプロジェクトを右クリックし、その後 [追加] をクリックしてから、ショートカット メニューの [クラスの追加] をクリックします。
[クラスの追加] ダイアログ ボックスの左側のペインで、[Visual C++/MFC] フォルダをクリックします。右側のペインの [TypeLib からの MFC クラス] アイコンをクリックし、[開く] をクリックします。
[Typelib クラス追加ウィザード] ダイアログ ボックスで、[使用できるタイプ ライブラリ] ボックスからタイプ ライブラリを選択します。[インターフェイス] ダイアログ ボックスに、選択したタイプ ライブラリで利用可能なインターフェイスが表示されます。
メモ : 複数のタイプ ライブラリからインターフェイスを選択できます。
インターフェイスを選択するには、目的のインターフェイスをダブルクリックするか、または [追加] ボタンをクリックします。インターフェイスを選択すると、ディスパッチ クラスの名前が [生成されたクラス] ボックスに表示されます。[クラス] ボックスでクラス名を変更できます。
[ファイル] ボックスには、クラスが宣言されているファイルが表示されます。このファイル名も変更できます。ヘッダーと実装情報を既存のファイルに書き込むか、プロジェクト ディレクトリ以外のディレクトリに保存する場合は、[参照] ボタンを使ってほかのファイルを選択できます。
メモ : 選択したインターフェイスのディスパッチ クラスはすべて、ここで指定したファイルに格納されます。異なるヘッダーでインターフェイスを宣言する場合は、作成するヘッダー ファイルごとにこのウィザードを実行する必要があります。
メモ : 一部のタイプ ライブラリ情報は、.DLL、.OCX、.OLB のいずれかの拡張子を持つファイルに保存される場合があります。
[完了] をクリックします。
指定したクラスとファイル名で、ディスパッチ クラスのコードが作成されます。