[ 来源:www.it55.com | 作者: | 时间:2007-07-13 | 收藏 | 推荐 ] 【大 中 小】
搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤。
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
下载的版本是从http://www.mm4.de/。
IT资讯之家 www.it55.com
一:用VB6写Activex Dll
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
代码如下: sflj www.it55.com kg^&fgd
Option Explicit 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
Private MyScriptingContext As ScriptingContext
IT资讯之家 www.it55.com
Private MyApplication As Application www.it55.com在线教程
Private MyRequest As Request Private MyResponse As Response www.it55.com
Private MyServer As Server IT资讯之家 www.it55.com
Private MySession As Session Public
sflj www.it55.com kg^&fgd
Sub OnStartPage(PassedScriptingContext As ScriptingContext) it55.com
Set MyScriptingContext = PassedScriptingContext
IT资讯之家 www.it55.com
Set MyApplication = MyScriptingContext.Application www.it55.com在线教程
Set MyRequest = MyScriptingContext.Request 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
Set MyResponse = MyScriptingContext.Response 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
Set MyServer = MyScriptingContext.Server sflj www.it55.com kg^&fgd
Set MySession = MyScriptingContext.Session sflj www.it55.com kg^&fgd
End Sub
Public Sub OnEndPage() IT资讯之家 www.it55.com
Set MyScriptingContext = Nothing IT资讯之家 www.it55.com
Set MyApplication = Nothing
Set MyRequest = Nothing it55.com
Set MyResponse = Nothing
it55.com
Set MyServer = Nothing vd;k;l www.it55.com rdfg
Set MySession = Nothing vd;k;l www.it55.com rdfg
End Sub
it55.com
Public Function Test_Number(num) As Variant
If num < 0 Then Get_Number_Attrib = -1 www.it55.com
If num > 0 Then Get_Number_Attrib = 1 免费资源www.it55.com
If num = 0 Then Get_Number_Attrib = 0
End Function
具体方法如下:新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test
it55.com
类的文件内容如上。 sflj www.it55.com kg^&fgd
编译生成p_test.dll文件
it55.com
二:注册 IT资讯之家 www.it55.com
提示符下运行:regsvr32 p_test.dll 免费资源www.it55.com
三:编写php文件,test.php4代码如下: http://www.it55.com/
www.it55.com
$b=new COM("p_test.c_test");
www.it55.com
$a=$b->Test_Number(-454); www.it55.com在线教程
echo $a;
?>
运行php4文件将显示-1 vd;k;l www.it55.com rdfg
可能遇到的问题是,编译工程时通不过,要将
sflj www.it55.com kg^&fgd
Microsoft Active Server Pages Object Library 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
引用进来,具体实现“Project->References”找到改库,并勾上 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
相比之下,PHP4调用com应该比PHP4调用javabean好哦,因为毕竟是Ms系统嘛。大家也可以去自己编写调用数据库的控件,用PHP4调用,从某种程度上,和PHP调用javabean一样,可以说,实现了“隐藏源代码”。
欢迎有兴趣的朋友交流。
(转载请注明作者和主页地址) it55.com
(编辑:IT资讯之家 www.it55.com)