この節では,以下の概要について説明します。
Component Object Model (COM) は,再利用可能なソフトウェア構成要素を作成するための機構を提供しています。COM は,ソフトウェアの相互運用性を促進するために,すなわち,たとえ,2 つまたはそれ以上のアプリケーションまたは構成要素が異なったベンダが異なった時間に,異なったプログラミング言語で書いたものであっても,または,それらが異なったオペレーティング・システムが動作する異なったマシン上で実行されるものであっても,それらがお互いに簡単に協力することができるようにするために,設計されたオブジェクトを基本としたプログラミング・モデルです。
COM では,構成要素は,お互いとインタフェースと呼ばれるメソッドまたはメンバ関数または要求としても知られている関数呼び出しの集合を通してシステムと相互作用します。インタフェースは,意味論的にはメンバ関数の関連した集合です。全体としてのインタフェースは,オブジェクトの機能を表わします。インタフェースのメンバ関数は,機能を構成する操作を表わします。一般に,オブジェクトは,複数のインタフェースをサポートすることができ,COMQueryInterface を使ってそれらのポインタを得ることができます。
Visual Fortran COM ルーチンは,基本 COM 関数への Fortran インタフェースを提供します。
オートメーション・オブジェクトの機能は,COM オブジェクトの機能に似ています。オートメーション・オブジェクトは,事実上,インタフェース IDispatch を実現する COM オブジェクトです。アートメーション・オブジェクトは,以下のものを公開しています。
これは,オブジェクトの動作を実行する関数です。これは,COM オブジェクトのメンバ関数に大変よく似ています。
これは,オブジェクトの状態に関する情報を保持するものです。プロパティは,1 組のメソッドで表わすことができます。1 つはプロパティの現在の値を得るためのもので,もう 1 つはプロパティの値を設定するためのものです。
Visual Fortran AUTO ルーチンは,オートメーション・オブジェクトのメソッドを呼び出すためおよびそのプロパティを得るための Fortran インタフェースを提供しています。
COM およびオートメーション・オブジェクトは,COM およびオートメーション・サーバーでユーザーに利用可能になります。COM またはオートメーション・サーバーは,以下のいずれかで実現することができます。
自分のプロセスにロードされる DLL。
別の実行形式プログラム。別の実行形式プログラムは,アプリケーションと同じシステムまたは異なったシステムに置くことができます。