ページの先頭行へ戻る
NetCOBOL for .NET V8.0 メッセージ集
FUJITSU Software

2.5.185 JMN5731I-S

デリゲートの"NEW"を呼び出すINVOKE文は,USING指定に2個のパラメタを持たなければなりません.
INVOKE文を無効とします.

      000001 IDENTIFICATION DIVISION.
      000002 DELEGATE-ID.   D5731.
      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   D5731.
    
      000001 IDENTIFICATION DIVISION.
      000002 PROGRAM-ID.    P5731.
      000003 ENVIRONMENT    DIVISION.
      000004 CONFIGURATION   SECTION.
      000005 REPOSITORY.
      000006     CLASS MATH AS "System.Math"
      000007     DELEGATE D5731.
      000008 DATA           DIVISION.
      000009 WORKING-STORAGE SECTION.
      000010 01 WOBRDT      OBJECT REFERENCE D5731.
      000011 PROCEDURE      DIVISION.
      000012     INVOKE D5731 "NEW" USING BY VALUE MATH
      000013                              BY VALUE "Max"
      000014                              BY VALUE "Min"
      000015                        RETURNING WOBRDT
      000016 END PROGRAM    P5731.
    

P5731.cob (15) : JMN5731I-S デリゲートの"NEW"を呼び出すINVOKE文は,USING指定に2個のパラメタを持たなければなりません.INVOKE文を無効とします.

詳細な説明

デリゲートのNEWメソッド(コンストラクタ)の呼出しは通常と異なるINVOKE文を使用します.

このINVOKE文は,通常のINVOKE文と異なり,次の規則があります.

  • BY指定はBY VALUEしか指定できない.また,BY指定を省略した場合,BY VALUEが指定されたと見なす.

  • USING指定に記述するパラメタの数は2つでなければならない.

  • USING指定に記述した1つ目のパラメタは,クラス名,オブジェクト参照項目または,定義済みオブジェクト一意名SELFでなければならない.

  • USING指定に記述した2つ目のパラメタは,文字定数,日本語定数またはメソッド指定子で宣言した名前でなければならない.

デリゲートのNEWメソッド(コンストラクタ)の呼出しには生成したデリゲートオブジェクトを介して,呼び出すメソッドとそのメソッドを呼び出しに使用するオブジェクト参照またはクラスの型を常に対で指定しなければなりません.

このINVOKE文の詳細については,“COBOL 文法書”の“11.8.3.9 INVOKE文”を参照してください.