COBOL2002 ユーザーズガイド


30.4.1 CBLGINT

CBLGINTサービスルーチンは,COBOLプログラムをGUIモードで動作させるための環境を設定するものです。このサービスルーチンは,CALL文で呼び出すのではなく,COBOL以外のプログラム内で使用します。

記述例
#include <windows.h>
 
extern int WINAPI CBLGINT(); 
                   /*CBLGINTの外部参照宣言*/
 
CBLGINT();         /*CBLGINTの呼び出し    */
引数

なし。

戻り値

常に0が返されます。

規則
  • CBLGINTサービスルーチンは,COBOLプログラムの呼び出しに先立って1回だけ呼び出さなければなりません。

  • COBOLプログラムを呼び出したあとにCBLGINTサービスルーチンを呼び出した場合,CBLGINTサービスルーチンは何も処理しないでリターンします。また,COBOLの実行環境は,最初に呼び出されたCOBOLプログラムのモードに従います。このため,CBLGINTサービスルーチンでは,設定済みのCOBOLプログラムのモードを変更できません。

  • CBLGINTサービスルーチンでGUIモードのCOBOLプログラムの環境設定をした場合,GUIモードで動作するCOBOLプログラムは,明示的または暗黙的なSTOP RUN文の実行,またはCBLENDサービスルーチンの呼び出しまで有効です。

  • CBLGINTサービスルーチンは,COBOL以外の言語だけから呼び出せます。

  • 主プログラムがCOBOL以外の言語で,CBLGINTサービスルーチンを呼び出さないでCOBOLプログラムを呼び出した場合,COBOLプログラムはCUIモードで動作します。

  • このサービスルーチンを使用するプログラムでは,リンク時に以下のインポートライブラリを指定してください。

    cbl2k_32.lib

使用例

CBLGINTサービスルーチンを使用して,Cプログラムから呼び出すCOBOLプログラムのGUIモードを設定する例を,次に示します。

[図データ]

  1. C言語で記述されたWinMain関数から,COBOLプログラムをGUIモードで実行させるためのCBLGINTサービスルーチンを呼び出します。

  2. COBOLプログラムを呼び出します。

  3. 呼び出されたCOBOLプログラムでDISPLAY文を実行すると,COBOLコンソールウィンドウに「CBLSUB1 START.」が表示されます。