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
true
http://www.bkjia.com/PHPjc/746863.html技術記事 1. VC を使用して COM コンポーネントを作成します。 1. VC で新しいプロジェクトを作成します。ATL プロジェクトに ComTest という名前を入力します。ComTest は COM コンポーネントの名前として使用されます。 2. ATL プロジェクト ウィザードが表示されたら、ウィザードを完了するために何も変更する必要はありません。に...