COBOL2002 言語 拡張仕様編


18.2.1 OLEオブジェクト参照データ項目(OLE2オートメーションインタフェース機能)

OLEオブジェクト参照データ項目は,インスタンス化されたOLEオブジェクトのポインタを格納するためのデータ領域である。

形式

[図データ]

構文規則
  1. レベル番号は,01〜49または77でなければならない。

  2. OLEオブジェクト参照データ項目は,作業場所節および連絡節に定義しなければならない。

  3. OLEオブジェクト参照データ項目は,EXTERNAL句やGLOBAL句を指定したレコード記述中に書いてもよい。

  4. OLEオブジェクト参照データ項目が独立した基本項目として定義された場合は,EXTERNAL句やGLOBAL句を指定できる。ただし,EXTERNAL句やGLOBAL句を指定できるのは,オブジェクト参照データ項目が作業場所節で定義されている場合だけである。

  5. OLEオブジェクト参照データ項目にVALUE句を指定してもよい。VALUE句には,表意定数ZEROとNULLが指定できる。

  6. OLEオブジェクト参照データ項目に関連する条件名が記述できる。ただし,条件名のVALUE句には表意定数ZEROとNULLだけが指定できる。

  7. USAGE句のOBJECT指定と同時にPICTURE句を指定してはならない。

  8. OLEオブジェクト参照データ項目を明示的に参照できる個所を次に示す。

    ・OLE2オートメーションインタフェース機能でのINVOKE文

    ・OLE2オートメーションインタフェース機能でのSET文

    ・OLEオブジェクト参照データ比較の条件式

    ・CONVERT-TO-VARIANT関数

一般規則
  1. OLEオブジェクト参照データ項目は内部的に4バイト(Windows(x64) COBOL2002では8バイト)の領域が確保される。

  2. OLEオブジェクト参照データ項目には,生成されたインスタンスのOLEオブジェクトのポインタを格納できる。

  3. OLEオブジェクト参照データ項目にSYNCHRONIZED句の機能が適用された場合は,4バイト(Windows(x64) COBOL2002では8バイト)境界に割り付けられる。

    SYNCHRONIZED句の機能が適用されない場合は,バイト境界に割り付けられる。

  4. OLEオブジェクト参照データ項目にOLEオブジェクトを格納するとき,すでに別のOLEオブジェクトが格納されている場合は,前に格納されたOLEオブジェクトを解放した後に格納される。