この特集のトップページへ
Chapter 2:Component Object Model

head1.gif 2.1 COMとは

 COMとは,一言でいえば「Microsoft社が定めたオブジェクト(プログラム)の呼び出し規約のこと」である。実のところ,この規約を本当に理解するためには,C言語やC++の知識が求められるために内容的にかなり難しくなるうえ,本連載の目的である3階層アプリケーション(N階層アプリケーション)の構築という本筋からも外れてしまう。

 そこで本連載では,Visual BasicでCOMを扱うにあたって必要最小限の内容のみを説明するに留める。「COMとは何たるか」あるいは「COMの内部で何が行われているのか」に踏み込んで理解したい読者は,併行する田中正造氏による連載記事を参照していただきたい。

head2.gif 2.1.1 COMコンポーネントとインタフェース
 COMコンポーネントとは,COMという規約に則った部品(コンポーネント)である。COMコンポーネントは,電子部品でいうところのICやLSIのようなものであり,外部との接点となる端子を通じてほかのプログラムとデータをやり取りする。COMでは,外部との接点となるこのような端子のことを「インタフェース(COMインタフェース)」と呼ぶ(Fig.2-1)。

Fig.2-1 COMコンポーネントとインタフェース

fig2-01.gif

 Windows 2000には,出荷時に多種多様なCOMコンポーネントが含まれている。たとえば,Internet ExplorerでWebページを表示するのはWebBrowserというCOMコンポーネントであり,HTMLヘルプを表示するのはHHCtrlというCOMコンポーネントである。

 また,Visual Studioなどの開発環境にも,さまざまなCOMコンポーネントが含まれている。代表的なものとしては,データベースアクセスに用いるADOコンポーネントがある。

 さらに,一般的な市販アプリケーションのなかにもCOMコンポーネントを含むものがある。たとえば,Microsoft Officeの各製品は,それ自身がCOMコンポーネントになっていて,Microsoft WordであればWordドキュメントを開いて編集するためのインタフェース群を,Microsoft Excelであれば,Excelワークシートを開いて編集するためのインタフェース群を,それぞれ外部プログラムに対して提供している。

 これらのCOMコンポーネントは,Visual BasicやVisual C++のほか,VBScriptやJScriptなどのスクリプト言語からも呼び出して利用することができる。

prevpg.gif Chapter 2 2/15 nextpg.gif