【发布时间】:2010-09-18 09:34:48
【问题描述】:
我正在尝试使用 COM 互操作扩展从 PHP 调用 COM 对象。一个函数需要 OLE_COLOR 作为参数?有没有办法从 PHP 传递这种值?
我尝试传递一个简单的整数值,但没有成功。
$this->oBuilder->Font->Color = 255;
【问题讨论】:
我正在尝试使用 COM 互操作扩展从 PHP 调用 COM 对象。一个函数需要 OLE_COLOR 作为参数?有没有办法从 PHP 传递这种值?
我尝试传递一个简单的整数值,但没有成功。
$this->oBuilder->Font->Color = 255;
【问题讨论】:
PHP 可以定义 COM 自动公开的常量。
set_ini('com.autoregister-typelib', true);
或手动
com_load_typelib($typelib_name);
但如果 OLE_COLOR 是 对象 而不是整数、字符串或其他原语
使用常量(或整数)是行不通的。
$Color = new COM('ColorClass');
$Color->set_color_function($red, $green, $blue);
或者类似的东西。
【讨论】:
当我从 PHP 调用 COM 函数时,我只是在调用中传递了它们。所以我的旧代码有:
$myComObject = new COM("MY_COM_OBJECT"); $myComObject->Myfunction(myVar1, myVar2, '我的字符串变量');【讨论】: