搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤。 www~phperz~.com
一:用VB6写Activex Dll www phperz com
代码如下: phperz.com
Option Explicit www.phperz.com
Private MyScriptingContext As ScriptingContext PHP程序员站--PHP程序员之家
Private MyApplication As Application phperz.com
Private MyRequest As Request Private MyResponse As Response PHP程序员站
Private MyServer As Server www phperz com
Private MySession As Session Public phperz.com
Sub OnStartPage(PassedScriptingContext As ScriptingContext) PHP程序员站--PHP程序员之家
Set MyScriptingContext = PassedScriptingContext PHP程序员站
Set MyApplication = MyScriptingContext.Application PHP程序员站--PHP程序员之家
Set MyRequest = MyScriptingContext.Request www~phperz~.com
Set MyResponse = MyScriptingContext.Response www phperz com
Set MyServer = MyScriptingContext.Server phperz.com
Set MySession = MyScriptingContext.Session www phperz com
End Sub www~phperz~.com
Public Sub OnEndPage() phperz.com
Set MyScriptingContext = Nothing www phperz com
Set MyApplication = Nothing PHP程序员站
Set MyRequest = Nothing phperz.com
Set MyResponse = Nothing www~phperz~.com
Set MyServer = Nothing www.phperz.com
Set MySession = Nothing www phperz com
End Sub PHP程序员站--PHP程序员之家
Public Function Test_Number(num) As Variant www phperz com
If num < 0 Then Get_Number_Attrib = -1 PHP程序员站
If num > 0 Then Get_Number_Attrib = 1 www phperz com
If num = 0 Then Get_Number_Attrib = 0 www~phperz~.com
End Function PHP程序员站--PHP程序员之家
具体方法如下:新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test www phperz com
类的文件内容如上。 www phperz com
编译生成p_test.dll文件 PHP程序员站--PHP程序员之家
二:注册 www phperz com
提示符下运行:regsvr32 p_test.dll PHP程序员站--PHP程序员之家
三:编写php文件,test.php4代码如下: PHP程序员站--PHP程序员之家
<? PHP程序员站
$b=new COM("p_test.c_test"); PHP程序员站--PHP程序员之家
$a=$b->Test_Number(-454); PHP程序员站
echo $a; PHP程序员站
?> PHP程序员站
运行php4文件将显示-1 phperz.com
可能遇到的问题是,编译工程时通不过,要将 PHP程序员站
Microsoft Active Server Pages Object Library PHP程序员站
引用进来,具体实现“Project->References”找到改库,并勾上 PHP程序员站
相比之下,PHP4调用com应该比PHP4调用javabean好哦,因为毕竟是Ms系统嘛。大家也可以去自己编写调用数据库的控件,用PHP4调用,从某种程度上,和PHP调用javabean一样,可以说,实现了“隐藏源代码”。 www~phperz~.com
|