DLL 中に定義されている手続またはデータをインポートする実行形式ファイルをビルドするときには,インポート・ライブラリーを使ってリンクを行い,いくつかのプロジェクト設定またはコマンド行オプションを指定し,リンカーが発見できるようにインポート・ライブラリーをコピーした上で,実行形式ファイルをビルドしなくてはなりません。
別の実行形式ファイルから DLL を使用する方法
ビジュアル開発環境では,プロジェクトに .LIB インポート・ライブラリー・ファイルを追加します。「Project」メニューの「Add to project」を,さらに「Files」をクリックします。
コマンド行では,コマンド行で .LIB ファイルを指定します。
インポートする .LIB ファイルは,プログラムが DLL を使用するために必要な情報を含んでいます。
DLL がデータをエクスポートしている場合,「Fortran Data」カテゴリ (/alignment オプション) で,DLL の作成時と同じプロジェクト設定オプションを使用するようにします。「Fortran」タブの「Fortran Data」カテゴリで,「Common Element Alignment」と「Structure Element Alignment」に適切な値を指定します。これにより,インポートされるデータ項目が自然に位置合わせされるようにするための充填が必要かどうかの指定するための /alignment オプションが設定されます。
「Project Settings」ダイアログボックスの「Fortra」タブで,Fortran DLL に対して指定した物と同じライブラリーのタイプが指定されていることを確認します。
ビジュアル開発環境では,「Project Settings」ダイアログボックスの「Link」タブでリンカー・オプションを指定します。
DF コマンド行では,/link オプションの後にリンカー・オプションを指定します。
アプリケーションが DLL を参照するためには,検索パス上のディレクトリか,主プロジェクトと同じディレクトリにその DLL が置かれていなくてはなりません。その DLL を複数のプログラムが参照する場合,PATH 環境変数で指定した適当なディレクトリに格納しておくと便利です。複数の DLL がある場合,パス指定にいくつものディレクトリを追加しなくてすむように,すべての DLL を同じディレクトリに格納するといいでしょう。
Windows 95, Windows ME または Windows 98 でパス指定を変更したときには,オペレーティング・システムを再起動しないと変更は有効になりません。Windows NT, Windows XP, Windows 2000 システムでは,システム・パスを変更した後に,いったんログアウトし,再びログインする必要があります。
ビジュアル開発環境を使用しているときには,次の操作を行います。
「FileView」タブをクリックすることで,プロジェクトに (DLL ファイルをビルドしたときに作成された) インポート・ライブラリーが追加されていることを確認します。
ビジュアル開発環境で他のプロジェクトをビルドするときと同様に,「Build」メニュー項目を使って実行形式ファイルを作成します (「プロジェクトの定義」を参照)。
コマンド行を使用しているときには,次の操作を行います。
コマンド行の末尾にインポート・ライブラリーを指定します。
ビルドするアプリケーションが DLL からエクスポートされるデータを使用する場合,DLL をビルドしたときと同じ /alignment オプションを指定します。
主アプリケーションをビルドするときには /dll オプションを省略します。
別の DLL を参照する Fortran DLL をビルドするときには /dll オプションを指定します。
たとえば,dllfile.dll に定義された共通ブロックに含まれている 4 バイトの項目を参照する主アプリケーションをビルドするには,次のコマンドを使用します。
DF /align:commons mainapp.f90 dllfile.lib