引数の説明
エラーの原因となった利用者語. |
INVOKE文. |
例
000001 IDENTIFICATION DIVISION.
000002 DELEGATE-ID. D5735.
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 D5735.
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. P5735.
000003 ENVIRONMENT DIVISION.
000004 CONFIGURATION SECTION.
000005 REPOSITORY.
000006 DELEGATE D5735.
000007 DATA DIVISION.
000008 WORKING-STORAGE SECTION.
000009 01 WOBRDT OBJECT REFERENCE D5735.
000010 01 WANS BINARY-LONG.
000011 PROCEDURE DIVISION.
000012 INVOKE D5735 "NEW" USING BY VALUE MATH
000013 BY VALUE "Max"
000014 RETURNING WOBRDT
000015 END PROGRAM P5735.
P5735.cob (12) : JMN5735I-S デリゲートの"NEW"を呼び出すINVOKE文で,USING指定の第1パラメタMATHが解決できません.INVOKE文を無効とします.
詳細な説明
デリゲートのNEWメソッド(コンストラクタ)の呼出しは通常と異なるINVOKE文を使用します.
このINVOKE文は,通常のINVOKE文と異なり,次の規則があります.
BY指定はBY VALUEしか指定できない.また,BY指定を省略した場合,BY VALUEが指定されたと見なす.
USING指定に記述するパラメタの数は2つでなければならない.
USING指定に記述した1つ目のパラメタは,クラス名,オブジェクト参照項目または,定義済みオブジェクト一意名SELFでなければならない.
USING指定に記述した2つ目のパラメタは,文字定数,日本語定数またはメソッド指定子で宣言した名前でなければならない.
デリゲートのNEWメソッド(コンストラクタ)の1つ目のパラメタには,生成したデリゲートオブジェクトを介してメソッドを呼び出す際に実際に使用するオブジェクト参照項目またはクラスの型を指定する必要があります.
このINVOKE文の詳細については,COBOL文法書の“11.8.3.9 INVOKE文”を参照してください.