PHP4调用自己编写的COM组件

转载 2004年07月06日 23:10:00
搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤。

一:用VB6写Activex Dll

代码如下:

Option Explicit

Private MyScriptingContext As ScriptingContext

Private MyApplication As Application

Private MyRequest As Request Private MyResponse As Response

Private MyServer As Server

Private MySession As Session Public

Sub OnStartPage(PassedScriptingContext As ScriptingContext)

Set MyScriptingContext = PassedScriptingContext

Set MyApplication = MyScriptingContext.Application

Set MyRequest = MyScriptingContext.Request

Set MyResponse = MyScriptingContext.Response

Set MyServer = MyScriptingContext.Server

Set MySession = MyScriptingContext.Session

End Sub

Public Sub OnEndPage()

Set MyScriptingContext = Nothing

Set MyApplication = Nothing

Set MyRequest = Nothing

Set MyResponse = Nothing

Set MyServer = Nothing

Set MySession = Nothing

End Sub

Public Function Test_Number(num) As Variant

If num < 0 Then Get_Number_Attrib = -1

If num > 0 Then Get_Number_Attrib = 1

If num = 0 Then Get_Number_Attrib = 0

End Function

具体方法如下:新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test

类的文件内容如上。

编译生成p_test.dll文件

二:注册

提示符下运行:regsvr32 p_test.dll

三:编写php文件,test.php4代码如下:

<?

$b=new COM("p_test.c_test");

$a=$b->Test_Number(-454);

echo $a;

?>

运行php4文件将显示-1

可能遇到的问题是,编译工程时通不过,要将

Microsoft Active Server Pages Object Library

引用进来,具体实现“Project->References”找到改库,并勾上

相比之下,PHP4调用com应该比PHP4调用javabean好哦,因为毕竟是Ms系统嘛。大家也可以去自己编写调用数据库的控件,用PHP4调用,从某种程度上,和PHP调用javabean一样,可以说,实现了“隐藏源代码”。

欢迎有兴趣的朋友交流。

Delphi 编写COM+组件的知识和样例

一、COM组件的基础知识介绍: 1、什么是COM          COM是微软定的一种组件编写的规范,目的是为了实现组件的重用,不管你是用C、DELPHI、VB什么语言写的,只要遵守这种规范就是...
  • zang141588761
  • zang141588761
  • 2016年04月26日 09:19
  • 1218

开发IE下js使用的com组件,包含事件处理

很简单,将事件做成属性,并设置属性的bindable, displaybind标记。 在js下面直接将function传给这个属性,com组件里面调用这个IDispatch的函数即可。 idl...
  • hyhnoproblem
  • hyhnoproblem
  • 2015年01月06日 23:07
  • 2148

Qt调用Delphi编写的COM组件

这个问题捣鼓了两天,现在终于解决了,做个笔记分享给大家,以免走弯路 起初,我的想法是在DLL中写一个interface并从函数中导出这个interface,像这样的代码 ICom1 = interfa...
  • aqtata
  • aqtata
  • 2013年06月24日 17:09
  • 2954

VC编写COM组件提供PHP调用

最近项目需要PHP来解析二进制数据,如果直接PHP做比较麻烦,就想到VC编写COM组件来做,提供PHP调用。文章将介绍VC编写COM组件提供PHP调用,实现一个计算两个数字相加的功能。...
  • cwqcwk1
  • cwqcwk1
  • 2014年03月29日 00:10
  • 2846

PHP调用VC编写的COM组件实例

PHP调用VC编写的COM组件实例 最近项目需要PHP来解析二进制数据,如果直接PHP做比较麻烦,就想到VC编写COM组件来做,提供PHP调用。文章将介绍VC编写COM组件提供PHP调用...
  • aasmfox
  • aasmfox
  • 2015年01月04日 12:45
  • 506

VS2010编写COM组件提供PHP调用

参考:http://blog.csdn.net/mycwq/article/details/22417961 参见:http://www.phpnotes.top/2017/12/04/php/79/...
  • longyan_csc
  • longyan_csc
  • 2017年12月08日 09:07
  • 38

php通过COM类调用组件

转自:http://hi.baidu.com/kashifs/blog/item/4f643bafcdde5c194b36d6b7.html COM(Component Object Mod...
  • jubincn
  • jubincn
  • 2011年12月26日 16:31
  • 4905

PHP调用COM组件的说明

在PHP 4.2.0 至 4.2.3中,可以使用w32api_register_function 函数调用外部的DLL,前提是需要在php.ini中打开扩展的php_w32api.dll。 如果使用...
  • lhl62411570
  • lhl62411570
  • 2011年11月16日 11:08
  • 772

php调用com组件配置 以openoffice为例

什么是com组件? COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件...
  • buyingfei888
  • buyingfei888
  • 2013年09月15日 09:22
  • 4169

(疑似解决==)求助:php 用windows COM组件调用openoffice接口实现word转pdf文件报错

一下是代码:
  • u010620626
  • u010620626
  • 2014年04月10日 16:05
  • 2181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP4调用自己编写的COM组件
举报原因:
原因补充:

(最多只允许输入30个字)