Как вызвать функцию COM из PHP с OLE_COLOR в качестве аргумента?
Вопрос
Я пытаюсь вызвать COM-объект из PHP с использованием расширения взаимодействия COM. Одна функция требует OLE_COLOR в качестве аргумента? Есть ли способ передать значение такого рода из PHP?
Я попытался передать простое целое значение безуспешно.
$this->oBuilder->Font->Color = 255;
Решение
PHP может определять константы, которые COM предоставляет автоматически.
set_ini (' com.autoregister-typelib ', верно);
или от руки
com_load_typelib ($ typelib_name);
Но если OLE_COLOR является объектом вместо целого числа, строки или другого примитива
использование констант (или целых чисел) не сработает.
$Color = new COM('ColorClass');
$Color->set_color_function($red, $green, $blue);
Или что-то подобное будет.
Другие советы
Когда я вызывал COM-функции из PHP, я просто передавал их в вызове. Так что мой старый код имеет:
$myComObject = new COM("MY_COM_OBJECT"); $myComObject->Myfunction( myVar1, myVar2, 'my string var');
Не связан с StackOverflow