为什么网上流传的"用VB编写ActiveX DLL实现ASP编程"的实例总是"Microsoft VBScript 编译器错误 错误 '800a0408' 无效字符 set testme=server.createobject("first.test")
1、使用VB6创建一个新的ActiveX DLL项目
2、 引用“Microsoft Active Server Pages Object”对象库。
3、 创建两个组件事件:OnStartPage以及OnEndPage
4、 在事件OnStartPage中创建类ScriptingContent的一个引用。
5、 实例化类ScriptingContent。
Test.cls (类实现)
'对象的声明
Dim rp as Response
Dim rq as Request
Dim ap as Application
Dim sr as Server
Dim sn as Session
'当组件被创建的时候会触发这个事件
Public Sub OnStartPage(mysc as ScriptingContext)
'进行对象的实例化
set rp=mysc.Response
set rq=mysc.Request
set sr=mysc.Server
set ap=mysc.Application
set sn=mysc.Session
rp.write "<br>ActiveX DLL组件已经被创建了!<br>"
End Sub
'当组件被销毁的时候触发这个事件
Public Sub OnEndPage()
Rp.write "<br>ActiveX DLL组件已经被销毁!<br>"
'销毁对象
Set rp=nothing
Set rq=nothing
Set sr=nothing
Set ap=nothing
Set sn=nothing
End Sub
'定义我们自己的一个组件方法
Public Sub HelloWorld()
Rp.write "<H1>Hello,World!</H1>"
End Sub
这样,我们就创建可以访问ASP内置对象的ActiveX DLL了。我们命名这个组件项目为first,在VB中间编译这项目成为一个DLL文件first.dll,并且我们在系统中注册这个DLL文件。接下来,我们需要一个简单的几乎没有什么代码的ASP程序来调用这个组件:
test.asp
<html>
<head>
<title>测试ActiveX DLL</title>
</head>
<body>
<%
Dim testme
'创建我们刚才编译成功的组件,一旦创建这个组件,同时会在叶面输出文字“ActiveX DLL组件已经被
'创建了!”
set testme=server.createobject("first.test")
'调用组件的方法
testme.HelloWorld
'注销组件,在注销的同时,会自动在叶面显示“ActiveX DLL组件已经被销毁!”
set testme=nothing
%>
</body>
</html>