Я вызываю метод COM-объекта, который возвращает объект варианта массива типа 8209 в моем PHP-коде.Как преобразовать вариант объекта массива 8209 в VT_VARIANT
$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);
Но тогда я получаю эту следующую ошибку
Fatal error: Uncaught exception 'com_exception' with message 'Variant type conversion failed: Type mismatch.' in C:\xampp\htdocs\waterCompany\reservoir.php:110 Stack trace #0 C:\xampp\htdocs\waterCompany\reservoir.php(110): variant_cast(Object(variant),12)#1{main} thrown in C:\xampp\htdocs\waterCompany\reservoir.php on line 110.
Я сделал еще некоторое чтение на variant_cast здесь http://php.net/manual/en/function.variant-set-type.php но я не добился значительных успехов.
Я использую PHP 5.5.11.
Где [тег: vbscript] вписывается в это? – Lankymart
Вы уже получили Variat, содержащий VT_UI1. Существует не Вариант типа VT_VARIANT, у вас может быть указатель на вариант (VT_BYREF) или вариантный массив. – xMRi
xMRi, пожалуйста, уточните, почему вы так говорите. См. Https://msdn.microsoft.com/en-us/library/windows/desktop/ms221170(v=vs.85).aspx Объектный метод моего приложения требует VT_VARIANT. –