CORBAの初期化メソッドCORBA-ORB-INITを呼び出し初期化処理を行います。当メソッドの結果として、ORBのオブジェクトリファレンスが返されます。このオブジェクトリファレンスは、以降で呼び出すORBインタフェースを使用する場合に指定します。
IDENTIFICATION DIVISION. PROGRAM-ID. "CLIENT-MAIN". AUTHOR. OD/IDLCOMPILER VER.2.0. INSTALLATION. IDL FILE NAME IS COBSAMPLE.IDL. SECURITY. THIS SOURCE CODE WAS GENERATED BASE ON YOUR IDL FILE. WHEN THIS STUB/SKELETON SOURCE CODE IS CHANGED, THE OPERATION. GURANTEED IS NOT DONE. DATE-WRITTEN. TUE MAY 6 11:03:40 1997 * ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. ARGUMENT-NUMBER IS ARG-C ARGUMENT-VALUE IS ARG-V SYMBOLIC CONSTANT COPY SYMBOL-CONST IN CORBA. . * DATA DIVISION. * WORKING-STORAGE SECTION. COPY CONST IN CORBA. 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY CURRENT-ARG-C. 01 CURRENT-ARG-V. 02 FILLER OCCURS 6. 03 CURRENT-ARG-V-VALUE USAGE POINTER. 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY ARG-COUNT. 01 APLI-NAME PIC X(8) VALUE "simple_c". 01 TMP-STRING-BUF PIC X(20). 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY STRING-LENGTH. 01 TEMP-BUF USAGE POINTER. 01 MESS PIC X(30). 01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 01 COPY ORB IN CORBA REPLACING CORBA-ORB BY ORB. 01 COPY BOA IN CORBA REPLACING CORBA-BOA BY BOA. * PROCEDURE DIVISION. MAIN. * ObjectDirectorのObjectIDを設定 DISPLAY "CLIENT START!!". * argument set : CURRENT-ARG-V-VALUE ACCEPT CURRENT-ARG-C FROM ARG-C. COMPUTE CURRENT-ARG-C = CURRENT-ARG-C + 1. PERFORM VARYING ARG-COUNT FROM 1 BY 1 UNTIL ARG-COUNT > CURRENT-ARG-C IF ARG-COUNT = 1 MOVE APLI-NAME TO TMP-STRING-BUF ELSE ACCEPT TMP-STRING-BUF FROM ARG-V END-IF MOVE FUNCTION LENG (TMP-STRING-BUF) TO STRING-LENGTH CALL "CORBA-STRING-SET" USING CURRENT-ARG-V-VALUE (ARG-COUNT) STRING-LENGTH TMP-STRING-BUF END-PERFORM. SET CURRENT-ARG-V-VALUE (ARG-COUNT) TO NULL. * ObjectDirector初期化 MOVE 12 TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH FJ-OM-ORB-ID. CALL "CORBA-ORB-INIT" USING CURRENT-ARG-C CURRENT-ARG-V TEMP-BUF ENV ORB. * ORBIDに格納した領域を解放する CALL "CORBA-FREE" USING TEMP-BUF. MOVE "CORBA-ORB-INIT" TO MESS. PERFORM ENV-CHECK
例外処理については、“6.6 クライアントアプリケーションの例外処理”を参照してください。