allowobjparam文(Ver8.91対応版)
目次COMの呼び出し− allowobjparam文
allowobjparam文は、メソッドの呼び出しで、文字列や数値以外のパラメータを指定することを許可します。(V8.20以降)
パラメータに1を指定すると、メソッドのパラメータが数値のとき、オブジェクトとして解釈することを許可します。
パラメータに2を指定すると、メソッドのパラメータが文字列のとき、16進数2桁が連続するバイトの配列(いわゆるバイナリデータ)として解釈することを許可します。メソッドの戻り値やプロパティが取得されるときは、バイナリを文字列として取得することを許可します。
0を指定するといずれも許可しません。
初期値は0で、数値はオブジェクトではなく数値そのまま、文字列は文字列のままとして解釈されます。
1や2を指定すると、数値や文字列としての解釈に失敗した場合にオブジェクトやバイトの配列として解釈します。
第2パラメータ以降を指定すると、メソッドのパラメータの種類を順番に1つずつ明示的に指定します。0はそのまま、1のとき数値はオブジェクト、2のとき文字列はバイナリデータとして最初から解釈します。

例:
 allowobjparam 1;
 callmethod #obj, $methodname, #obj1, #obj2;
 allowobjparam 0;
例:
 allowobjparam 2;
 $strBinary = getpropstr( #obj, $binaryproperty );
 callmethod #obj, $methodname, $strBinary;
 allowobjparam 0;
例:
 allowobjparam 2, 0, 0, 1, 2;
 $binaryRet = callmethod_returnstr( #obj, $methodname, #num1, $str2, #obj3, $binary4 );
 allowobjparam 0;