日期:2013-05-01  浏览次数:20452 次

首先写ActiveX Dll:
  新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test ,类的文件内容如下:
  
  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
  
  编译生成p_test.dll文件
  
  注册
  
  提示符下运行:regsvr32 p_test.dll
  
  编写php文件,test.php4代码如下:
  
  <?
  $b=new COM("p_test.c_test");
  $a=$b->Test_Number(-454);
  echo $a;
  ?>
  
  可能遇到的问题是,编译工程时通不过,要将Microsoft Active Server Pages Object Library引用进来,具体实现"Project->References"找到改库,并勾上 。