Fortran COM Server Wizard に提供すべき内容と Fortran COM Server Wizard が行う内容

Fortran COM Server Wizard は,Developer Studio プロジェクトとCOM サーバーの全てのインフラストラクチャを実装する多くのソース・ファイルを生成します。インタフェース,メソッドを含む 1 つ以上のオブジェクト・クラスの実装を定義するために Fortran COM Server Wizard のユーザー・インタフェースを使用します。各インスタンスに対する構造型の欄を定義する必要があり,必要に応じてこれらの欄にコードを書く必要があります。各メソッドを実装するために必要なコードを書く必要もあります。

Fortran COM Server Wizard に提供すべき内容

COM サーバーを作成するために Fortran COM Server Wizard を使用するには,まず,実装したいクラスを Fortran COM Server Wizard に記述する必要があります。

クラスは,1 つ以上の COM インタフェースを実装します。COM 用語では,インタフェースは意味論的には関連した関数の集合です。全体としてのインタフェースは,クラスで実装される特徴 ("feature"),または,関連する機能の集合を意味します。インタフェースは,メソッド (メンバ関数としても知られています) を含んでいます。メソッドは,特徴を実現する動作の 1 つを実行するルーチンです。Fortran COM Server Wizard を使用すると,メソッドは他の Fortran 関数のように引数を取り,値を返す Fortran 関数です。

AddingMachine と呼ぶ Fortran COM Server Wizard を使って作成したクラスの簡単な例を考えます。クラスは,IAdd と呼ぶ 1 つのインタフェースを含んでいます。わかりやすくするため,全てのインタフェースの名前は,大文字 "I" で始まります。IAdd インタフェースに 3 つのメソッドを定義しています。

Clear メソッド,Add メソッド,および GetValue メソッドは,COM クライアントをサポートするどの言語からも IAdd インタフェースを使って特定の明確な作業を行うことができるようにします。Fortran COM Server Wizard は,「Fortran COM Server Wizard の使用」で説明するクラス (この例では AddingMachine クラス) についてのこの情報を入力するためのユーザー・インタフェースを提供します。

インタフェースはまた,プロパティも含んでいます。プロパティは,オブジェクトの状態についての情報を設定したり返したりするメソッドの組です。インタフェースにプロパティを追加する時,実際には 1 つか 2 つのメソッドを追加します。これについては,「プロパティの追加」で説明しています。

他の重要な概念は,オブジェクトに関連したデータです。オブジェクト指向のプログラミングのキー概念は,カプセル化です。カプセル化は,使用されるデータと作業を行うために使われるロジックを含み,オブジェクトがどのように実装されているかについての全詳細がクライアントに対して隠されていることを意味します。クライアントのオブジェクトの参照は,オブジェクトがサポートするインタフェースを介してのみ行われます。

オブジェクトが使用するデータを定義し,メソッドのロジックをコーディングする必要があります。データに対して,Fortran COM Server Wizard は,オブジェクトの各インスタンスがFortran 構造型の関連したインスタンスをもつというモデルを使用します。ウィザードが生成するコードは,オブジェクトが作成および破壊される時に,構造型のインスタンスの作成および破壊の世話を行います。

構造型の欄を定義します。たとえば,AddingMachine の例では,各 AddingMachine オブジェクトは,現在の値を保存する必要があります。各 AddingMachine オブジェクトに関連した構造型は,型 REAL の 1 つの欄を持っています。これを CurrentValue と名付けています。AddingMachine オブジェクトの各インスタンスは,構造型の自分のインスタンスと自分の CurrentValue を持っていることに注意してください。これは,サーバーが同時に複数のクライアントをサポートでき,各クライアントが自分の AddingMachine を見ていることを意味しています。つまり,各クライアントは,他のクライアントの存在に影響されないということになります。各オブジェクトに関連した構造型は,「Fortran COM Server プロジェクトの作成」で説明しています。

Fortran COM Server Wizard を使用して COM サーバーを作成するためにしなければならなことをまとめると,以下のようになります。

COM サーバーが提供する内容

Fortran COM Server Wizard は,Developer Studio プロジェクトと COM サーバーの全てのインフラストラクチャまたは配管工事 ("plumbing") を実装する多くのソース・ファイルを生成します。生成されたファイルは,以下のような作業の世話を行います。

これらのソース・ファイルの大部分は,Fortran COM Server Wizard が完全に生成するもので,自分で修正する必要はありません。他のファイルは,自分の構造型とメソッドの骨格またはテンプレートを含んでいます。自分の実装に会うようにこれらの Fortran ソース・ファイルを編集します。AddingMachine 例を通して,これがどのように行われるのかを知ることができます。

COM サーバーを生成するための Fortran COM Server Wizard ユーザー・インタフェースの使用方法については,「Fortran COM Server Wizard の使用」を参照してください。