COMオブジェクト - stuncloud/UWSCR GitHub Wiki

CREATEOLEOBJ

対応バージョン: 0.2.0

COMオブジェクトのインスタンスを作成します

戻り値 = createoleobj(ProgId)
  • ProgId
    • COMオブジェクト名
  • 戻り値
    • COMオブジェクト

COMオブジェクトの書式についてはこちら

VARTYPE

VARIANT型変数の型を調べます
VAR_定数を指定することで任意のVARIANT型変数を得られます

型情報    = vartype(変数)
VARIANT型 = vartype(変数, 定数)
  • 変数
    • 型情報を調べたい変数
    • VARIANT型変換を行う変数
  • 定数
    • VAR_定数
  • 戻り値
    • 型情報
      • VAR_定数
    • VARIANT型
      • VARIANT型の変数

VARIANT型→UWSCRデータ型への変換

UWSCRデータ型 = vartype(VARIANT型変数, VAR_UWSCR)
VAR_EMPTY    =       0 // Empty
VAR_NULL     =       1 // Null
VAR_SMALLINT =       2 // 符号あり16ビット整数
VAR_INTEGER  =       3 // 符号あり32ビット整数
VAR_SINGLE   =       4 // 単精度浮動小数点数 
VAR_DOUBLE   =       5 // 倍精度浮動小数点数
VAR_CURRENCY =       6 // 通貨型
VAR_DATE     =       7 // 日付型
VAR_BSTR     =       8 // BSTR型
VAR_DISPATCH =       9 // COMオブジェクト
VAR_ERROR    =      10 // エラー値
VAR_BOOLEAN  =      11 // bool値
VAR_VARIANT  =      12 // VARIANT型
VAR_UNKNOWN  =      13 // IUnknown
VAR_SBYTE    =      16 // 符号あり8ビット整数
VAR_BYTE     =      17 // 符号なし8ビット整数
VAR_WORD     =      18 // 符号なし16ビット整数
VAR_DWORD    =      19 // 符号なし32ビット整数
VAR_INT64    =      20 // 符号あり64ビット整数
// VAR_ASTR  =     256 // ANSI文字列 (未サポート)
// VAR_USTR  =     258 // Unicode文字列 (未サポート)
VAR_UWSCR    =     512 // UWSCRデータ型 (非VARIANT型、通常はこれが返る)
VAR_ARRAY    =  0x2000 // SafeArray

SAFEARRAY

SafeArrayを作成します

戻り値 = safearray([下限, 上限, 二次元下限, 二次元上限])
  • 下限
    • 配列の下限、省略時は0 (仕様変更: UWSCでは1)
  • 上限
    • 配列の上限、省略時は-1 (仕様変更: UWSCでは0)
  • 二次元下限
    • 二次元配列の下限、省略時は二次元配列を作らない
  • 二次元上限
    • 二次元配列の上限、省略時は二次元下限 - 1
  • 戻り値
    • SafeArray

配列をsafearrayに変換できます

戻り値 = safearray(一次元配列)
  • 一次元配列
    • 配列
  • 戻り値
    • SafeArray (一次元、インデックスは0から)
sa = safearray(0, 1) // サイズ2の配列
sa = safearray(-2, 2) // 添字が -2,-1,0,1,2
print length(sa) // 5

sa = safearray() // サイズ0の配列
// safearray(0, -1) と同等
// UWSCでは safearray(1, 0)

sa = safearray(0, 1, 0, 3)
print length(sa, 2) // 4 lengthの第2引数に次元数を指定できる

// 配列→SafeArray
sa = safearray(["foo", "bar", "baz"])
print sa[0] // foo