2.28.2.7 ActiveXに特有の用語

ActiveXコントロールをアプリケーション内で使うだけであれば、知っておかなければならない特有の用語はそれほど多くありませんが、ごく基本的なものをいくつか解説しておきましょう。

ActiveX コンポーネントをリポジトリに登録すると、コントロールが属するタイプ・ライブラリと、コントロール自体を特定する ProgID の2つが定義されます。

タイプ・ライブラリ

ProgID を指定して ActiveX コンポーネントを登録すれば、多くの場合、これがどのタイプ・ライブラリに属するものなのか、自動的に特定できます。したがって、コンポーネントを使う際、通常はどのタイプ・ライブラリに属するかを意識する必要がありません。

「タイプ・ライブラリ」はいくつかのコンポーネントから成ります。例えばキーボード制御コントロールが属するタイプ・ライブラリには、それ以外のコントロールも含まれています。これは、キーボード制御コントロールの[プロパティ]タブでTypeLibIdプロパティを選択し、[...]ボタンを押すと調べることができます。

これを見るとわかるように、先の例で挙げたキーボード制御コントロールは、「Iocomp Professional Component Pack」というタイプ・ライブラリに属しています。展開表示してみると、ほかにも作成できるコンポーネントがあることがわかります。

タイプ・ライブラリに属する他のコントロールにもアクセスできます。

タイプ・ライブラリには、アプリケーションに対して、ActiveXコンポーネントとやり取りするためのインターフェースを提供する、という役割があります。ライブラリには、コンポーネント内のクラスとそのメソッド、プロパティ、イベント、定数などが詳しく説明されています。

「Iocomp Professional Component Pack」の中身を調べたい場合は、キーボード制御コントロールを選択し、機能ヘルプ(F2)を開いてください。機能ウィンドウには、このライブラリに属するクラスを列挙したドロップダウン・メニューがあります。

タイプ・ライブラリには次のようなタイプがあります。

CoClasses

オブジェクトを生成するために使うクラスの定義。イベント、メソッド、プロパティが定義されています。

Interfaces

メソッドとプロパティの組を定義。CoClassには、Interfacesに定義されたメソッドやプロパティを使うためのインターフェースが実装されています。

Enumerations

定数。コードを読みやすくするために使います。

Aliases

別名。これもコードを読みやすくするために使います。

ProgID

ProgID(プログラムID)とは、「iProfessionalLibrary.iKeyboard」というように、人が見て読みやすいようにしたActiveXコンポーネント名のことです。

ProgIDは、ActiveXコンポーネントのクラスIDの別名として使えます。このクラスIDは、GUID(Globally Unique Identifier: グローバル一意識別子)、すなわち一意性が保証された128ビットの値で、通常は16桁の16進数の形で表現します。