关于“用VB将ASP代码封装到DLL文件 ”问题

用VB封装ASP,建立SayHello测试程序

1、打开VB6,新建ActiveX DLL

2、在工程引用中加入Microsoft Active Server Pages Object Library选择

3、填加代码如下:

'Code Start

'声明部分
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session

'下面定义公用函数(在VB中访问ASP对象,即在VB中可以用MyApplication等同于ASP中的Application、MyRequest等同于ASP中的Request、 MyResponse等同于ASP中的Response、 MyServer等同于ASP中的Server、 MySession等同于ASP中的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

'建立自定义函数SayHello

Public Sub SayHello()
MyResponse.Write ("Hello World")
End Sub

'Code End

4、将类名改为:HelloWorld  将工程名改为:TestVBCode

5、生成TestVBCode.DLL文件,并使用Windows运行注册组件命令Regsvr32 路径\TestVBCode.DLL注册后即可使用。(卸载组件命令为Regsvr32 /u 路径\TestVBCode.DLL)

6、建立Test.asp文件,代码如下

<%

'VB自建函数调用格式
'Set 对象名=Server.CreateObject("工程名.类名")
'对象名.自建函数名

Set MyTestObj = Server.CreateObject("TestVBCode.HelloWorld")
MyTestObj .SayHello
%>

7、运行Test.asp文件结果显示如下:

Hello World

=================
以上代码在VB6,Win2003下测试通过.

以上是引用别人的程序 !

本人严格按照 他上面的用VB6 sp6 编译  并注册DLL
在ASP 里面 出现 下面错误:

Microsoft VBScript 运行时错误 错误 '800a01f9'

无效的或无资格的引用

/test.asp,行 6


我严格按照你的方法编译了DLL 并注册了DLL   在ASP 调用 就提示以上错误!!
请大家 看下是啥问题啊 aaa0922@163.com 谢谢
 

posted on 2007-11-16 14:48  学者  阅读(509)  评论(5编辑  收藏  举报

导航