我通过PHP“COM”连接到与C#,C++等兼容的API。 我已成功与应用程序建立连接并尝试使用“out”通过COM参数并获得“类型不匹配”错误。是“out”参数,并且应该包含响应,然后是false。我不确定它是否会失败,或者如果它失败了,但无论如何我无法让这个工作。PHP COM和C#“Out”和布尔参数
的C#示例如下:
EdmViewInfo[] Views = null;
vault.GetVaultViews(out Views, false);
的PHP代码如下所示:
$this->epdm = new COM('ConisioLib.EdmVault') or die("Cannot open vault.");
...
$this->aviews = array();
try {
$this->epdm->GetVaultViews($this->aviews, False);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
我得到以下返回的错误: 捕捉到异常:参数1:类型不匹配。
希望有人能帮助!
'epdm'字段是如何初始化的?它是一个实际的PHP'COM'类实例还是别的? (例如,围绕PHP'COM'类调用的包装器层?) – Dai
'$ this-> epdm = new COM('ConisioLib.EdmVault')或死(“无法打开保管库。”);'这是初始化。 连接初始化,我可以登录并获取一些基本信息,所以我知道它的工作原理。 'EdmViewInfo [] Views = null; vault.GetVaultViews(out Views,false);' C#示例对不起,以上是VB – Dyluck