Comment appeler la fonction COM depuis PHP avec OLE_COLOR en argument?
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;
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');