この特集のトップページへ
>
Chapter 2:Component Object Model
2.1 COMとは
COMとは,一言でいえば「Microsoft社が定めたオブジェクト(プログラム)の呼び出し規約のこと」である。実のところ,この規約を本当に理解するためには,C言語やC++の知識が求められるために内容的にかなり難しくなるうえ,本連載の目的である3階層アプリケーション(N階層アプリケーション)の構築という本筋からも外れてしまう。
そこで本連載では,Visual BasicでCOMを扱うにあたって必要最小限の内容のみを説明するに留める。「COMとは何たるか」あるいは「COMの内部で何が行われているのか」に踏み込んで理解したい読者は,併行する田中正造氏による連載記事を参照していただきたい。
2.1.1 COMコンポーネントとインタフェース
COMコンポーネントとは,COMという規約に則った部品(コンポーネント)である。COMコンポーネントは,電子部品でいうところのICやLSIのようなものであり,外部との接点となる端子を通じてほかのプログラムとデータをやり取りする。COMでは,外部との接点となるこのような端子のことを「インタフェース(COMインタフェース)」と呼ぶ(Fig.2-1)。
Fig.2-1 COMコンポーネントとインタフェース
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などのスクリプト言語からも呼び出して利用することができる。
Chapter 2 2/15 |