首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP相关资源下载区 » [转帖]PHP4调用自己编写的COM组件  


  作者:lather
  注册时间:2005-04-21
  主题/回复:37/63
  积分:1079
  等级:★★★☆(七级)
  称号:论坛贤士

  lather@lather.co..
  66584152
  www.ent.bj.cn/

 

 发表:2005-04-26 08:44:05 阅读 2254 次 回复 0 次 得分0  |   字号 字色
[转帖]PHP4调用自己编写的COM组件
搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤。 
   
  下载的版本是从http://www.mm4.de/。 
   
  一:用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一样,可以说,实现了“隐藏源代码”。 
 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.003sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版