富士通

NetCOBOL 技術情報:ノウハウ情報

NetCOBOL

Windows x86, .NET

Q

COBOLプログラムからWin32APIを呼び出せますか。

A

プログラム間連絡機能を使用して、COBOLからWin32APIを直接呼び出すことができます。

CALL文により、呼び出したい関数名とオプションを指定します。関数からの復帰値についても、CALL文のRETURNING指定により受け取ることができます。
メッセージボックス関数を呼び出すCALL文の例

サンプルプログラム

なお、WindowsAPIを使用する場合は、COBOLから呼び出し可能か(COBOLで必要なパラメーターを用意できるかなど)を、WindowsAPIの仕様を確認してください。

プログラム間連絡機能の使用方法については、COBOL使用手引書を参照してください。
WindowsAPIの呼び出しについては、NetCOBOLおよびPowerCOBOL97 V5.0以降に添付の例題プログラム「メッセージボックスの出力」を参照してください。

このほかに、C言語で作成したプログラムからWindowsAPIを呼び、COBOLからCのプログラムを呼び出す方法でも実現できます。
この場合は、すべてのWindowsAPIを使用できます。詳細は、WindowsAPIの仕様を確認してください。
また、WindowsAPIの関数名には大文字、小文字の区別があるため、翻訳オプション「NOALPHAL」または「ALPHAL(WORD)」を指定する必要があります。