Question

J'essaie d'appeler un objet COM à partir de PHP en utilisant l'extension COM interop. Une fonction nécessite un OLE_COLOR comme argument? Existe-t-il un moyen de transmettre ce type de valeur à partir de PHP?

J'ai essayé de passer une valeur entière simple sans succès.

$this->oBuilder->Font->Color = 255;
Était-ce utile?

La solution

PHP peut définir les constantes que le COM expose automatiquement.

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

ou à la main

com_load_typelib ($ typelib_name);

Mais si OLE_COLOR est un objet au lieu d'un entier, d'une chaîne ou d'une autre primitive
utiliser des constantes (ou des entiers) ne fonctionnera pas.

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

Ou quelque chose de similaire sera.

Autres conseils

Quand j'ai appelé les fonctions COM depuis PHP, je les ai simplement passées dans l'appel. Donc mon ancien code a:

$myComObject = new COM("MY_COM_OBJECT");
$myComObject->Myfunction( myVar1, myVar2, 'my string var');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top