18.5.1 CONVERT-TO-VARIANT関数(OLE2オートメーションインタフェース機能)
- 形式
- 機能
-
CONVERT-TO-VARIANT(VARIANT値変換)関数は,引数2で指定したCOBOLのデータ項目と等価な引数1で指定した型のVARIANT値へのポインタを返す。この関数は,OLE2オートメーションインタフェース機能を使ったINVOKE文での引数や,SET文での設定値を,特定の型のVARIANT値として扱う場合に使用する。この関数の型は,バリアントデータ型である。
- 一般規則
-
-
引数について
・引数1は,整数項目(結果が常に整数となる算術式を含む),整数定数,表意定数ZEROを指定しなければならない。
・引数1は,変換するVARIANT値の型を示す数値を指定しなければならない。指定する数値とVARIANT値との対応を次に示す。
表18‒3 指定する数値とVARIANT値との対応 指定する数値
VARIANT値の型
0
Empty(VT_EMPTY)
1
Null(VT_NULL)
2
整数型(VT_I2)
3
長整数型(VT_I4)
4
単精度浮動小数点型(VT_R4)
5
倍精度浮動小数点型(VT_R8)
6
通貨型(VT_CY)
7
日付型(VT_DATE)
8
文字列型(VT_BSTR)
9
オブジェクト型(VT_DISPATCH)
11
ブール型(VT_BOOL)
決められた数値以外のものが指定されたときの結果は保証しない。
・引数2は,集団項目,数字項目(算術式を含む),数字編集項目,英字項目,英数字項目,日本語項目,1けたのブール項目,OLEオブジェクト参照データ項目,数字定数,英数字定数,日本語文字定数,1けたのブール定数または表意定数(ZERO,NULL)でなければならない。
VARIANT値へ変換できないデータ項目が指定されている場合は,実行時にエラーとなる。
VARIANT値変換では,「表18‒1 COBOLデータ項目からVARIANT値への変換規則」に示した変換規則のVARIANT値に合わせてCOBOLデータ項目を指定すること。変換規則で示されていない通貨型,日付型は英数字項目で指定する。なお,日付型は03/01/01 09:00という形式で設定すること。
・引数1に0または1が指定された場合,引数2は無視される。2〜11が指定された場合で,引数2が指定されていないときはエラーとなる。
・-UniObjGenオプションを指定した場合,引数2に用途がNATIONALの項目,日本語文字定数および16進日本語文字定数を指定してはならない。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」のUnicode機能を参照のこと。
-
関数値について
・関数値は,指定された引数と等価のVARIANT値へのポインタが返される。
-
関数の表現形式
・VARIANT値へのポインタ
・この関数は,(CALL文,INVOKE文(オブジェクト指向機能),利用者定義関数を除く)送り出し側作用対象となるバリアントデータ項目が指定できるところおよびバリアントデータ比較の条件式に記述できる。
-