使用VB编写的一个简单的ActiveX DLL,在Windows环境下用IIS+ASP引用可以正常,但是用IIS+PHP引用的话就产生没有办法初始化,也就是说OnStartPage没有执行.不知道是什么原因?
==========================================================================================
=========================================================================================
以下网上广泛传播的一个例子
新建一个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"找到改库,并勾上 。