设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP调用VC编写的COM组件实例
返回列表
查看:
1320
|
回复:
0
PHP调用VC编写的COM组件实例
[复制链接]
xgnic
当前离线
积分
11142
3444
主题
3465
帖子
1万
积分
管理员
积分
11142
发消息
电梯直达
楼主
发表于 2018-2-14 05:59:20
|
只看该作者
|
正序浏览
|
阅读模式
一、用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),修改如下:
[U]复制代码[/U] 代码如下:STDMETHODIMP CMyClass::add(LONG a, LONG b, LONG* c)
{
*c = a + b;
return S_OK;
}
8、编译后,在生成目录找到ComTest.dll,注册到系统
[U]复制代码[/U] 代码如下:regsvr32 ComTest.dll
二、PHP调用COM组件
[U]复制代码[/U] 代码如下:add(1, 2);
正常情况下,到这里就完成了。
但默认情况下,PHP调用COM组件的功能是没有打开的。PHP执行以上代码就会报 Fatal error: Class 'COM' not found 错误。修改PHP配置,如下:
[U]复制代码[/U] 代码如下:
extension=php_com_dotnet.dll
结束语
这个功能是PHP调用COM组件的功能,虽然很方便调用,开发也比较简单,但也因为使用COM组件技术,限定了只有Windows的机子才能使用。
您可能感兴趣的文章:
在jsp程序中使用com组件
asp中COM组件中如何连接数据库的代码
用JavaScript编写COM组件的步骤
C# 无需COM组件创建快捷方式的实现代码
c#创建vc可调用的com组件方法分享
C++ COM编程之什么是组件?
C++中COM组件初始化方法实例分析
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
用户反馈
客户端