Come chiamare la funzione COM da PHP con OLE_COLOR come argomento?
Domanda
Sto provando a chiamare un oggetto COM da PHP usando l'estensione di interoperabilità COM. Una funzione richiede un OLE_COLOR come argomento? Esiste un modo per passare questo tipo di valore da PHP?
Ho provato a passare un semplice valore intero senza successo.
$this->oBuilder->Font->Color = 255;
Soluzione
PHP può definire le costanti che la COM espone automaticamente.
set_ini (' com.autoregister-typelib ', true);
o manualmente
com_load_typelib ($ typelib_name);
Ma se OLE_COLOR è un oggetto invece di un numero intero, una stringa o un'altra primitiva
l'utilizzo di costanti (o numeri interi) non funzionerà.
$Color = new COM('ColorClass');
$Color->set_color_function($red, $green, $blue);
O qualcosa di simile.
Altri suggerimenti
Quando ho chiamato le funzioni COM da PHP, le ho appena passate nella chiamata. Quindi il mio vecchio codice ha:
$myComObject = new COM("MY_COM_OBJECT"); $myComObject->Myfunction( myVar1, myVar2, 'my string var');