¿Cómo llamar a la función COM desde PHP con OLE_COLOR como argumento?
Pregunta
Estoy tratando de llamar a un objeto COM desde PHP usando la extensión de interoperabilidad COM. ¿Una función requiere un OLE_COLOR como argumento? ¿Hay alguna forma de pasar este tipo de valor desde PHP?
He intentado pasar un valor entero simple sin éxito.
$this->oBuilder->Font->Color = 255;
Solución
PHP puede definir las constantes que el COM expone automáticamente.
set_ini (' com.autoregister-typelib ', true);
o a mano
com_load_typelib ($ typelib_name);
Pero si OLE_COLOR es un objeto en lugar de un entero, una cadena u otra primitiva
el uso de constantes (o enteros) no funcionará.
$Color = new COM('ColorClass');
$Color->set_color_function($red, $green, $blue);
O algo similar lo hará.
Otros consejos
Cuando llamé a funciones COM desde PHP, las pasé en la llamada. Entonces mi viejo código tiene:
$myComObject = new COM("MY_COM_OBJECT"); $myComObject->Myfunction( myVar1, myVar2, 'my string var');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow