PHP が COM コンポーネントを呼び出す VC_PHP チュートリアルで書かれた例

WBOY
リリース: 2016-07-13 10:35:08
オリジナル
902 人が閲覧しました

1. VC を使用して COM コンポーネントを作成します
1. vc -> ATL プロジェクトで新しいプロジェクトを作成し、ComTest という名前を入力します。ComTest は COM コンポーネントの名前として使用されます。


2. ATL プロジェクト ウィザードが表示されたら、ウィザードを完了するために何も変更する必要はありません。ウィザードが完了すると、vc は一連のプログラムを自動的に生成します。


3. クラス ビューに切り替え、ComTest 項目を右クリックしてクラスを追加し、ATL シンプル オブジェクトを選択します。


4. ATL シンプル オブジェクト ウィザードに移動し、作成するクラスの名前「MyClass」を入力し、ウィザードを完了します。 (ProgID も入力する必要があることに注意してください。一部の vs では自動的に入力されます)


5. クラス ビューに戻り、IMyClass を右クリックしてメソッドを追加すると、メソッドを追加するウィザードが表示されます。


6. メソッドの追加ウィザードでは、次のように 2 つの数値の加算を計算する関数を実装します。パラメーター a と b はどちらも [in] Long で、c は COM の戻りパラメーターです。 is [out, retval] Long*、ポインタです。ウィザードを完了します。

7. MyClass.cpp で追加したメソッドを見つけて、add(LONG a, LONG b, LONG* c) し、次のように変更します:

コードをコピーします コードは次のとおりです:
STDMETHODIMP CMyClass::add(LONG a, LONG b, LONG* c)
{
*c = a + b;
return S_OK; 8. 生成されたディレクトリで ComTest.dll を見つけて登録します。システムに


コードをコピーします
コードは次のとおりです: regsvr32 ComTest.dll
2. PHP は COM コンポーネントを呼び出します

コードをコピーします

コードは次のとおりです:$com = new COM("ComTest.MyClass") または die("Unable to call ComTest");
echo $com->add(1, 2);

通常はここで完了します。

ただし、デフォルトではPHPがCOMコンポーネントを呼び出す機能はオンになっていません。上記のコードを実行すると、PHP は致命的エラー: クラス 'COM' が見つかりませんというエラーを報告します。 PHP の設定を次のように変更します。

コードをコピーします。 コードは次のとおりです。

extension=php_com_dotnet.dll 結論 この関数は、PHP が COM コンポーネントを呼び出す関数ですが、非常に便利です。また、COM コンポーネント技術を使用しているため、使用できるマシンは Windows マシンに限定されます。






http://www.bkjia.com/PHPjc/746863.html
www.bkjia.com

tru​​e

技術記事 1. VC を使用して COM コンポーネントを作成します。 1. VC で新しいプロジェクトを作成します。ATL プロジェクトに ComTest という名前を入力します。ComTest は COM コンポーネントの名前として使用されます。 2. ATL プロジェクト ウィザードが表示されたら、ウィザードを完了するために何も変更する必要はありません。に...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート