Как передать вариантный тип объекта 16396 в метод COM, который требует входное значение VT_VARIANT [12]

В моем коде PHP есть COM-объект «$ com_myObject» с методом «myObjectMethod», который после запуска

com_print_type info($com_myObject);

на нем это показывает, что у него есть метод ‘myObjectMethod’, объявленный как показано ниже

myObjectMethod(/* VT_VARIANT [12] [in] */ $RawData) { /* Processes entered object data */ }

В моем коде у меня есть другая функция, возвращающая вариант объекта «$ myInputObject» со значением типа 16396. Я планирую использовать «$ myInputObject» в качестве входного значения для метода «myObjectMethod».

print variant_get_type($myInputObject);  //returns 16396

Я получаю значение для «$ myInputObject», как показано ниже, из этой другой функции COM, т.е. «ofunction».

$myInputObject = $com_myObject->ofunction;

Я предполагаю, что из объявления метода ‘myObjectMethod’ я должен передать объект VT_VARIANT, то есть тип варианта 12, но то, что возвращает моя другая функция ‘ofunction’, которая должна быть входным значением для ‘myObjectMethod’, является вариантом объекта типа 16396.

Я попытался преобразовать вариант объекта типа 16396 в вариант объекта типа 12, как показано ниже

$com_myObject->myObjectMethod(variant_cast($myInputObject, VT_VARIANT));

но я получаю следующую ошибку.

Неустранимая ошибка: необработанное исключение «com_exception» с сообщением «Преобразование типа варианта не выполнено: несоответствие типов». в C: \ xampp \ htdocs \ waterCompany \servoir.php: 125 Трассировка стека # 0 C: \ xampp \ htdocs \ waterCompany \servoir.php (125): option_cast (объект (вариант), 12) # 1 {основной} брошенный в C: \ xampp \ htdocs \ waterCompany \servoir.php в строке 125.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …