不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
从mzwu类学习ASP类(续):Visual Basic6.0开发ASP组件
编辑:dnawo 日期:2007-02-01
一、组件开发
1.运行Visual Basic6.0,新建ActiveX DLL工程;
2.选择"工程"菜单下的"引用...",添加"Microsoft Active Server Pages Object Library"
3.选中"工程1"在其属性窗口中将其名称改为"NewClass";
4.选中NewClass工程下的Class1,在其属性窗口中将其名称改为"mzwu";
5.将"从mzwu类学习ASP类"中的mzwu类代码稍加修改后Copy到代码窗口中:
6.选择"文件"菜单下的"生成NewClass.dll";
7.将NewClass.dll复制到System32目录下,运行"Regsvr32 NewClass.dll"进行注册。
二、应用举例
三、后记
本文原先在调用writename过程时老是失败,提示"需要对象",估计是Visual Basic不支持ASP的"Response.write"方法,找了很多资料照着做仍未解决,最终在蓝色理想上参考了老农的一篇文章《asp编译成dll-图形化教程》才得以解决。因作者注明不能转载,感兴趣的朋友可访问:http://www.blueidea.com/tech/program/2006/3212.asp
点击这里可下载本文的NewClass.dll
1.运行Visual Basic6.0,新建ActiveX DLL工程;
2.选择"工程"菜单下的"引用...",添加"Microsoft Active Server Pages Object Library"
3.选中"工程1"在其属性窗口中将其名称改为"NewClass";
4.选中NewClass工程下的Class1,在其属性窗口中将其名称改为"mzwu";
5.将"从mzwu类学习ASP类"中的mzwu类代码稍加修改后Copy到代码窗口中:
复制内容到剪贴板
程序代码

Option Explicit
Private Context As ScriptingContext
Private Application As Application
Private Response As Response
Private Request As Request
Private Session As Session
Private Server As Server
'定义一个公有变量name,即mzwu类的name属性
Public name
'定义mzwu类的另一个属性url,注意定义方法
Private temp_url
Public Property Let url(value) '设置url属性可写,缺此句属性不可写
temp_url = value
End Property
Public Property Get url() '设置url属性可读,缺此句属性不可读
url = temp_url
End Property
Public Sub OnStartPage(PassedscriptContext As ScriptingContext)
Set Context = PassedscriptContext
Set Application = Context.Application
Set Request = Context.Request
Set Response = Context.Response
Set Server = Context.Server
Set Session = Context.Session
End Sub
'定义一个私有函数过程addstr,只能在mzwu类内部使用
Private Function addstr(value)
addstr = "mzwu中文名称:" & value
End Function
'类初始化
Private Sub Class_Initialize()
Dim str
str = "木子屋"
name = addstr(str)
url = "出错了:还没有给url赋值!"
End Sub
'定义一个子过程writename,即mzwu类的一个方法writename,无返回值
'可根据实际使该方法带不带参数
Public Sub writename()
Response.Write "我是调用writename方法来的"
End Sub
'定义一个函数过程getname,即mzwu类的一个方法getname,有返回值
'可根据实际使该方法带不带参数
Public Function getname()
getname = "我是调用getname方法来的"
End Function
'类结束
Private Sub Class_Terminate()
name = ""
temp_url = ""
End Sub
'释放内部对象
Public Sub OnEndPage()
Set Application = Nothing
Set Request = Nothing
Set Response = Nothing
Set Server = Nothing
Set Session = Nothing
Set Context = Nothing
End Sub
Private Context As ScriptingContext
Private Application As Application
Private Response As Response
Private Request As Request
Private Session As Session
Private Server As Server
'定义一个公有变量name,即mzwu类的name属性
Public name
'定义mzwu类的另一个属性url,注意定义方法
Private temp_url
Public Property Let url(value) '设置url属性可写,缺此句属性不可写
temp_url = value
End Property
Public Property Get url() '设置url属性可读,缺此句属性不可读
url = temp_url
End Property
Public Sub OnStartPage(PassedscriptContext As ScriptingContext)
Set Context = PassedscriptContext
Set Application = Context.Application
Set Request = Context.Request
Set Response = Context.Response
Set Server = Context.Server
Set Session = Context.Session
End Sub
'定义一个私有函数过程addstr,只能在mzwu类内部使用
Private Function addstr(value)
addstr = "mzwu中文名称:" & value
End Function
'类初始化
Private Sub Class_Initialize()
Dim str
str = "木子屋"
name = addstr(str)
url = "出错了:还没有给url赋值!"
End Sub
'定义一个子过程writename,即mzwu类的一个方法writename,无返回值
'可根据实际使该方法带不带参数
Public Sub writename()
Response.Write "我是调用writename方法来的"
End Sub
'定义一个函数过程getname,即mzwu类的一个方法getname,有返回值
'可根据实际使该方法带不带参数
Public Function getname()
getname = "我是调用getname方法来的"
End Function
'类结束
Private Sub Class_Terminate()
name = ""
temp_url = ""
End Sub
'释放内部对象
Public Sub OnEndPage()
Set Application = Nothing
Set Request = Nothing
Set Response = Nothing
Set Server = Nothing
Set Session = Nothing
Set Context = Nothing
End Sub
6.选择"文件"菜单下的"生成NewClass.dll";
7.将NewClass.dll复制到System32目录下,运行"Regsvr32 NewClass.dll"进行注册。
二、应用举例
复制内容到剪贴板
程序代码

<%
Dim NewClass
Set NewClass = Server.CreateObject("NewClass.mzwu")
Response.write NewClass.url '此时url没值,显示"出错了:还没有给url赋值"
Response.write "<br/>"
NewClass.url = "http://www.mzwu.com/"
Response.write NewClass.url '赋值后显示"http://www.mzwu.com/"
Response.write "<br/>"
Response.write NewClass.name '显示"mzwu中文名称:木子屋"
Response.write "<br/>"
Dim str
str = NewClass.getname '调用getname方法
Response.write str '显示"我是调用getname方法来的"
Response.write "<br/>"
Response.write NewClass.writename '调用writename方法,显示"我是调用writename方法来的"
Set NewClass = Nothing
%>
Dim NewClass
Set NewClass = Server.CreateObject("NewClass.mzwu")
Response.write NewClass.url '此时url没值,显示"出错了:还没有给url赋值"
Response.write "<br/>"
NewClass.url = "http://www.mzwu.com/"
Response.write NewClass.url '赋值后显示"http://www.mzwu.com/"
Response.write "<br/>"
Response.write NewClass.name '显示"mzwu中文名称:木子屋"
Response.write "<br/>"
Dim str
str = NewClass.getname '调用getname方法
Response.write str '显示"我是调用getname方法来的"
Response.write "<br/>"
Response.write NewClass.writename '调用writename方法,显示"我是调用writename方法来的"
Set NewClass = Nothing
%>
三、后记
本文原先在调用writename过程时老是失败,提示"需要对象",估计是Visual Basic不支持ASP的"Response.write"方法,找了很多资料照着做仍未解决,最终在蓝色理想上参考了老农的一篇文章《asp编译成dll-图形化教程》才得以解决。因作者注明不能转载,感兴趣的朋友可访问:http://www.blueidea.com/tech/program/2006/3212.asp
点击这里可下载本文的NewClass.dll
评论: 1 | 引用: 0 | 查看次数: 4619
发表评论
请登录后再发表评论!