注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

lx121225的个人主页

 
 
 

日志

 
 

PHP调用VS2005VC++写的dll控件  

2008-09-11 16:38:04|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

测试环境:windows 2003 Server + IIS6 (PHP)+VS2005

一、建立ATL工程

1、打开VS2005,新建空项目,我们这里建NFS(图1)

2、在解决方案中,添加 >> 新建项目,命名:nfs,并选择DLL方式,如图2、图3

3、打开类视图,在nfs节点上点击鼠标右键,选择 添加 >> 类,在这里我们选择“ATL简单对象”,如图4

4、在添加向导窗口中,在c++简称栏目中填入:Fun,其它的项目会自动填写。如图5、图6

5、添加show方法,选择类视图IFun,点击鼠标右键,选择“添加方法”。如图7

6、在添加方法向导中,方法名填写:show,参数我们写两个,其中最后一个参数是必须的,因为是要返回给PHP的值。如图8、图9

7、编写函数,并编译。打开Fun.cpp源文件,找到STDMETHODIMP CFun::show(LONG* pKeys, BSTR* pReturn)函数,在函数中加入代码,如图10,生成解决方案,在生成前,选择生成方式为:Release,如图11:

BSTR temp = ::SysAllocString(L"PHP Hello Dll 071226");

* pReturn=temp;

8、停止iis,找到生成的dll文件,并通过regsvr32 nfs.dll命令注册dll文件。如图12

9,至此文件dll已经完成制作与注册。在PHP中就可以调用了,效果如图13。

<?php

//2007年12月26日 星期二 11:34:08 lybkw

$com = new COM("nfs.Fun") or die("无法建立COM组件");

echo $com->show(1);

?>

  评论这张
 
阅读(539)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017