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一样,可以说,实现了“隐藏源代码”。

欢迎有兴趣的朋友交流。

编写安全的WebApi接口

编写安全的WebApi接口
  • 2017年03月19日 22:34

PB调用PB自己制作的COM组件

  • 2010年07月02日 14:41
  • 53KB
  • 下载

C++ COM组件编写初探

最近在学习COM,自己实现了一个小Demo,拿出来和大家分享一下。求各种批评。 我实现的这个组件向外提供了一个接口ICompTest,里面只有一个函数helloworld(),功能为返回一个整数...
  • shejiannan
  • shejiannan
  • 2014-05-20 17:41:17
  • 1056

VC编写COM组件提供PHP调用

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

c++调用c#的com组件

  • 2015年03月19日 18:41
  • 2.16MB
  • 下载

用C++写COM组件并用C#调用

1、以管理员身份打开vs,特别重要,否则会不成功2、新建一个c++ ATL项目,如图,全部为默认设置 3、添加一个ATL简单对象,从添加类中添加,如图 4、添加一个方法,注意是在类视图中添加,...
  • qq_22033759
  • qq_22033759
  • 2015-09-01 00:15:45
  • 3222

VC6创建COM组件,Qt调用例子

一、建立 ATL 工程   步骤2.1:建立一个工作区(WorkSpace)。   步骤2.2:在工作区中,建立一个 ATL 工程(Project)。示例程序叫 June12,并选择DLL方式,见...
  • cibiren2011
  • cibiren2011
  • 2017-06-11 16:00:24
  • 738

VC调用C#写的COM+组件

 首先对COM+组件的写法需要注意以下几点:1.接口,事件,方法,属性必须是public,2.方法和属性必须在接口中声明,事件也必须在事件接口中声明.否则将在VC中无法调用,在接口中声明主要是为了在C...
  • panyaxiong
  • panyaxiong
  • 2007-04-25 23:30:00
  • 7017

使用C#编写COM组件在网页中调用ActiveXObject

C#编写Com组件并在html页面调用
  • wzc1988
  • wzc1988
  • 2016-11-16 16:38:46
  • 818
收藏助手
不良信息举报
您举报文章:PHP4调用自己编写的COM组件
举报原因:
原因补充:

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