COBOLで作成したDLLは、以下のどちらかの方法で利用することができます。
インポートライブラリ(動的リンク構造)による呼び出し方法
"CALL 一意名"(動的プログラム構造)による呼び出し方法
この方法は、COBOLのDLLに対応するインポート用のライブラリファイルを、呼び出し元となるモジュールの外部ファイルとして登録しておく方法です。
モジュールへの外部ファイルの登録方法については、「5.1.1 外部ファイルを使う」を参照してください。
この方法では、以下のように、CALL文を使ってDLL中のサブプログラムを直接呼び出します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. PROCEDURE DIVISION. … CALL "COBOLSUB"
注意
実行時には、呼び出すサブプログラムが含まれるDLLファイルが必要です。DLLファイルは、呼び出し元ファイルと同じフォルダまたはPATH環境変数で指定されているフォルダに格納してください。
インポートライブラリによる呼び出しを使用する場合には、処理がそのモジュール内で完結するようにしてください。処理が複数のモジュールに分散していて、複数のDLLから呼び出されるDLLを使用する場合は、次に説明する、「"CALL 一意名"による呼び出し」を使用してください。
この方法は、インポートライブラリを使用せず、アプリケーションの実行時にDLLを動的にロードしてサブプログラムを呼び出す方法です。
この方法では、アプリケーションを実行する前に、DLLを動的にロードするためのエントリ情報を、NetCOBOLの実行環境情報に設定しておく必要があります。エントリ情報の設定方法については、『NetCOBOL ユーザーズガイド』を参照してください。
この方法では、以下のように、CALL文を使ってエントリ情報に設定するエントリ名を呼び出します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 エントリ名 PIC X(16) VALUE "COBOLSUB". PROCEDURE DIVISION. … CALL エントリ名
注意
この呼び出しでは、上記のように、CALL文で変数を呼び出します。これは、定数を呼び出すCALL文(CALL "COBOLSUB")とは異なり、実行時に呼び出し先が確定する呼び出し方法です。"CALL 一意名"を使った呼び出し方法の詳細については、『NetCOBOL ユーザーズガイド』を参照してください。