Pergunta

Eu estou tentando chamar um objeto COM de PHP usando a extensão de interoperabilidade. Uma função requer um OLE_COLOR como um argumento? Existe alguma maneira de passar este tipo de valor a partir de PHP?

Eu tentei passar um simples valor inteiro sem sucesso.

$this->oBuilder->Font->Color = 255;
Foi útil?

Solução

PHP pode definir as constantes o COM expõe automático.

set_ini ( ' com.autoregister-typelib ', true);

ou à mão

com_load_typelib ($ typelib_name);

Mas se o OLE_COLOR é um objeto em vez de um inteiro, string ou outro
primitiva usando constantes (ou inteiros) não vai funcionar.

$Color = new COM('ColorClass');
$Color->set_color_function($red, $green, $blue);

Ou algo vontade similar.

Outras dicas

Quando eu chamei funções COM de PHP, eu só passou por eles na chamada. Então, meu código antigo tem:

$myComObject = new COM("MY_COM_OBJECT");
$myComObject->Myfunction( myVar1, myVar2, 'my string var');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top