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;
¿Fue útil?

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
scroll top