程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP調用VC編寫的COM組件實例

PHP調用VC編寫的COM組件實例

編輯:關於PHP編程

 一、用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返回參數,為[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

二、PHP調用COM組件
復制代碼 代碼如下:<?php 

$com = new COM("ComTest.MyClass") or die("無法調用ComTest"); 
echo $com->add(1, 2); 
正常情況下,到這裡就完成了。

但默認情況下,PHP調用COM組件的功能是沒有打開的。PHP執行以上代碼就會報 Fatal error: Class 'COM' not found 錯誤。修改PHP配置,如下:
復制代碼 代碼如下:
extension=php_com_dotnet.dll 
結束語
這個功能是PHP調用COM組件的功能,雖然很方便調用,開發也比較簡單,但也因為使用COM組件技術,限定了只有Windows的機子才能使用。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved