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

2.5.184 JMN5730I-S

デリゲートの"NEW"を呼び出すINVOKE文では,USING指定は'BY VALUE'でなければなりません.
INVOKE文を無効とします.

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

P5730.cob (12) : JMN5730I-S デリゲートの"NEW"を呼び出すINVOKE文では,USING指定は'BY VALUE'でなければなりません.INVOKE文を無効とします.

詳細な説明

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

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

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

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

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

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

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