我正在调用一个 COM 对象方法,该方法在我的 PHP 代码中返回一个类型为 8209 的数组变体对象。
$com_VArray = $com_Object->objectMethod; //Is a 8209 variant object
最后,我希望将转换后的 VT_VARIANT 对象作为另一个 COM 对象方法的值传递,该方法要求其输入为 VT_VARIANT[12]。
我通过发出以下命令将 $com_VArray 转换为 VT_VARIANT 对象变体类型
$obj_VT_VARIANT = variant_cast($com_VArray, VT_VARIANT);
但后来我收到以下错误
致命错误:未捕获的异常“com_exception”和消息“变体类型转换失败:类型不匹配。” 在 C:\xampp\htdocs\waterCompany\reservoir.php:110 堆栈跟踪 #0 C:\xampp\htdocs\waterCompany\reservoir.php(110): variant_cast(Object(variant),12)#1{main} 抛出在第 110 行的 C:\xampp\htdocs\waterCompany\reservoir.php 中。
我在这里http://php.net/manual/en/function.variant-set-type.php对 variant_cast 做了更多阅读,但我没有取得太大进展。
我正在使用 PHP 5.5.11。