2012-04-02 4 views
2

PHPからCOMオブジェクト(登録されたDLL内)にアクセスしようとしています。COMオブジェクトfrom PHP

他のアプリケーションから(tlbファイルを使用して)このCOMオブジェクトにアクセスすることは可能ですが、PHP開発者ではないため、PHPからのアクセスに問題があります。私は

$com = new COM('ITestCOMClass'); 

を使用してアクセスしようとしましたが、結果だけFailed to create COM object ITestCOMClass'としました: `表示されます。誰かが私にこの問題を手伝ってもらえますか?例は非常に便利です。

PS:

  • ITestCOMClass - 抽象インタフェース、
  • TTestCOMClassからTTestCOMClassのインスタンスを作成するファクトリクラス、 - このインタフェースを実装するクラス、
  • CoTTestCOMClass

おかげ

答えて

0

あなたは、完全修飾オブジェクト名を使用していません。それはProgID.ObjectNameの線に沿って次のようになります。

$com = new COM('MyProject.ITestCOMClass'); 

システム上のCOMオブジェクトのリストを取得するにはthis questionをチェックしてください。それはあなたが使用する必要がある完全な名前を明らかにするかもしれません。

+0

ありがとうございます。しかし、今では "Interface not supported"や "ClassFactoryに必要なクラスがありません"というエラーがあります。たぶん、あなたが知っている、これを修正する方法? –

+1

私は答えを見つけました:PHPはCOMオブジェクトで動作したくないので、オートメーションオブジェクト(OLE)が必要です。 –