国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:22:33
字體:
來源:轉載
供稿:網友

 

一、用VC創建COM組件

1、vc新建項目 -> ATL項目,輸入名稱ComTest,ComTest將作為COM組件的名稱。

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



2、到了ATL項目向導,不需要改動,完成向導。向導完成后,vc將會自動生成一系列的程序。

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



3、切換到類視圖,在ComTest項右鍵,添加類,選擇ATL簡單對象,

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



4、來到ATL簡單對象向導,輸入你要新建的類名 MyClass,完成向導。(注意了,還要填寫ProgID,有些vs會自動補全)

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



5、回到類視圖中,在IMyClass右鍵,添加方法,將會進入添加方法的向導。

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



6、來到添加方法向導,我們想實現計算2個數相加的功能,如下,參數a和b都是[in] Long,c為COM返回參數,為[out, retval] Long*,是一個指針。完成向導。

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


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的機子才能使用。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天镇县| 铜山县| 鲜城| 新郑市| 冀州市| 万州区| 临澧县| 同仁县| 界首市| 宁晋县| 腾冲县| 巴彦淖尔市| 焦作市| 黄浦区| 双鸭山市| 博湖县| 霍山县| 仙游县| 南丹县| 木里| 延川县| 雅江县| 武穴市| 漳浦县| 巴青县| 卢龙县| 凤山市| 林周县| 东乡族自治县| 汤阴县| 五常市| 榆林市| 咸丰县| 阿拉尔市| 永平县| 中超| 庆元县| 临高县| 南澳县| 东乌珠穆沁旗| 江都市|