Fortran Module Wizard によるコード生成

Fortran Module Wizard を実行するには,「Tools」メニューから「Fortran Module Wizard」を選択します。Fortran Module Wizard は,オブジェクト名と形式やいくつかの特性などを含めて,一連の質問を行います。オブジェクトの特性がわからない場合は,「Fortran Module Wizard の役割」を参照してください。

Fortran Module Wizard は,必要となる情報の形式を選択することができる一連のダイアログボックスを表示します。

オブジェクトのタイプ情報は,オブジェクトのインタフェースに関するプログラミング言語に依存しない記述を含んでいます。オブジェクトの実装によって,タイプ情報は実行中のオブジェクト (後述の「Automation Object を選択した場合」を参照) またはタイプ・ライブラリーから得ることができます。

タイプ・ライブラリーは,任意の数のオブジェクト・クラスやインタフェースのタイプ情報の集まりです。また,タイプ・ライブラリーは DLL 内のルーチンの記述にも使用できます。タイプ・ライブラリーは独自のファイル (通常は .TLB という拡張子を持ちます) に格納することもできますし,別のファイルの一部として格納することもできます。たとえば,DLL を記述するタイプ・ライブラリーを,その DLL 本体に格納することができます。

Fortran Module Wizard を起動すると(「Tools」メニューの「Fortran Module Wizard」),使用する必要のあるオブジェクトを記述するタイプ情報のソースを指定するように要求するダイアログボックスが表示されます。ここでは,オブジェクトの形式 (または DLL) と,そのタイプ情報を提供する方法を指定する必要があります。次の選択肢があります。

オブジェクト・サーバーは,一般的に,オブジェクト実装として同じファイル (.dll または .exe のどちらか) にタイプ・ライブラリーを含んでいます。

多くのオブジェクトは,COM およびオートメーション・オブジェクトをサポートするデュアル・インタフェースを実装しています。デュアル・インタフェースをサポートするオブジェクトに対して,以下のオプションのどちらかを選択することができます。

COM オブジェクト・インタフェースは,より効率よく動作します (実行時性能に優れています)。

ActiveX コントロールは,オートメーション・インタフェースを実装しています。ActiveX コントロールを使用する場合,「Type Library Containing Automation Information」を選択します。

多くの DLL は,DLL 中のプログラミング・インタフェースを示すタイプ・ライブラリーを提供していませんので,Module Wizard で使用することはできません。

これらの理由により,「Type Library Containing Automation Information」または「Type Library Containing COM Interface Information」が主に共通して利用されます。

次図に,Fortran Module Wizard を選択したときに表示される最初の画面を示します。

初期 Fortran Module Wizard 画面

5 つの選択項目のいずれかを選択すると,行った選択に応じて 1 つまたは 2 つの画面が表示されます。Fortran Module Wizard の第 1 画面の「Module Name」は,生成される Fortran モジュール名として使用されます。また,これは生成されるソース・ファイルの基本ファイル名としても使用されます。

「Automation Object」を選択した場合

「Automation Object」を選択すると,次図の画面が表示されます。

Application Object 画面

Microsoft は,オブジェクト・サーバーにタイプ・ライブラリーを提供させることを推奨しています。しかし,一部のアプリケーションは,実行中にタイプ情報を動的に提供します。このオプションはこのようなアプリケーションに使用します。アプリケーションの名前,オブジェクトの名前,およびバージョン番号を入力してください。バージョン番号は省略可能です。これを指定しないと,そのオブジェクトの最新バージョンが使用されます。この方法は,プログラマティック識別子 (ProgID) を提供するオブジェクトでしか使用できないことに注意してください。ProgID はシステム・レジストリに入力され,特にオブジェクトのサーバーである実行形式プログラムを識別します。

情報を入力して「Generate」ボタンを押すと,Fortran Module Wizard は生成するソース・ファイルの名前の入力を要求します。その後,COM に対して,ProgID で識別された,ウィザードが指定された情報を使って作るオブジェクトのインスタンスを作成するように要求します。COM は必要ならばオブジェクトのサーバーを起動します。その後,ウィザードはオブジェクトにそのタイプ情報を要求し,Fortran モジュールを含んでいるファイルを生成します。

その他のオプションを選択した場合

最初の画面で他のオプションを選択して「Next」ボタンを押すと,Fortran Module Wizard は次図の画面を表示します。

タイプ・ライブラリー画面

タイプ・ライブラリー (またはタイプ・ライブラリーを含んでいるファイル) を選択し,オプションとしてタイプ・ライブラリーに特有の構成要素を選択します。

ダイアログボックスの上部には,システムに登録されているすべてのタイプ・ライブラリーの一覧を表示するコンボボックスがあります。ここには .OLB (オブジェクト・ライブラリー) や .OCX (ActiveX コントロール) などのいくつかのファイル拡張子が表示されています。一覧からタイプ・ライブラリーを選択して「Browse」ボタンを押すと,標準の「開く」ダイアログボックスを使ってファイルを探すことができます。タイプ・ライブラリーを選択し,「Show」ボタンを押すと,タイプ・ライブラリーから選択可能な構成要素の一覧が表示されます。基本設定では,Fortran Module Wizard は,すべての構成要素を使用します。オプションとして,一覧から希望のインタフェースを選択することもできます。

情報を入力して「Generate」ボタンを押すと,Fortran Module Wizard は生成するソース・ファイルの名前を求めます。その後,COM に対してタイプ・ライブラリーを開くように要求し,Fortran モジュールを含んでいるファイルを生成します。

Fortran Module Wizard はまた,コマンド行インタフェースも持っています。MODWIZ コマンドは,以下の形式を取ります。

	MODWIZ [options] typeinfo-name

MODWIZ コマンド・オプションの一覧と typeinfo-name の説明は,「Fortran Command Prompt」(「Compaq Viusal Fortran 6」プログラム・フォルダに提供) で以下のコマンドを入力して入手します。

	MODWIZ /?