引数の説明
INVOKE文. |
例
000001 IDENTIFICATION DIVISION. 000002 DELEGATE-ID. D5736. 000003 ENVIRONMENT DIVISION. 000004 DATA DIVISION. 000005 LINKAGE SECTION. 000006 01 LK1 PIC S9(9) COMP-5. 000007 01 LK2 PIC S9(9) COMP-5. 000008 01 LK3 PIC S9(9) COMP-5. 000009 PROCEDURE DIVISION USING BY VALUE LK1 000010 BY VALUE LK2 000011 RETURNING LK3. 000012 END DELEGATE D5736.
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. P5736. 000003 ENVIRONMENT DIVISION. 000004 CONFIGURATION SECTION. 000005 REPOSITORY. 000006 CLASS MATH AS "System.Math" 000007 DELEGATE D5736. 000008 DATA DIVISION. 000009 WORKING-STORAGE SECTION. 000010 01 WMETNM PIC X(8). 000011 01 WOBRDT OBJECT REFERENCE D5736. 000012 PROCEDURE DIVISION. 000013 MOVE "Max" TO WMETNM 000014 INVOKE D5736 "NEW" USING BY VALUE MATH 000015 BY VALUE WMETNM 000016 RETURNING WOBRDT 000017 END PROGRAM P5736.
P5736.cob (14) : JMN5736I-S デリゲートの"NEW"を呼び出すINVOKE文で,USING指定の第2パラメタは,文字定数か日本語定数,またはメソッド指定子で宣言した名前でなければなりません.INVOKE文を無効とします.
詳細な説明
デリゲートのNEWメソッド(コンストラクタ)の呼出しは通常と異なるINVOKE文を使用します.
このINVOKE文は,通常のINVOKE文と異なり,次の規則があります.
BY指定はBY VALUEしか指定できない.また,BY指定を省略した場合,BY VALUEが指定されたと見なす.
USING指定に記述するパラメタの数は2つでなければならない.
USING指定に記述した1つ目のパラメタは,クラス名,オブジェクト参照項目または,定義済みオブジェクト一意名SELFでなければならない.
USING指定に記述した2つ目のパラメタは,文字定数,日本語定数またはメソッド指定子で宣言した名前でなければならない.
デリゲートのNEWメソッド(コンストラクタ)の2つ目のパラメタには,生成したデリゲートオブジェクトを介して呼び出すメソッドの名前を指定する必要があります.
このINVOKE文の詳細については,“COBOL 文法書”の“11.8.3.9 INVOKE文”を参照してください.