日期:2010-03-04 浏览次数:20948 次
爱易学习网原创视频教程下载地址:http://www.aiyiweb.com/Down/eBook/vb/2007/2007122192320.html
由本人第一次尝试制作的录像视频教程,由于电脑速度较慢,播放时间较慢,请谅解。 
本录像讲解最基础的VB封装ASP代码生成DLL的制作教程,适合初级学习者参考。也是本人学习VB制作ASP组件的第一个尝试,录像基本成功。 
用vb编写asp组件(dll)示例 
下面,将演示如何使用vb制作asp的dll组件... 
1. 启动你的vb,选择activex dll图标,然后在点击菜单的工程>>引用,接 
着在弹出的"引用"窗口从中选择 
microsoft active server pages object library. 
2. 给工程和类重命名,在asp中调用时,就全靠它了^_^!我们的工程名改 
为aspdll,类名为demo.在asp中调用的方法是: 
set objreference = server.createobject("工程名.类名") 
本例调用的相应代码如下: 
set objreference = server.createobject("aspdll.demo") 
调用的方法和一般常见的,比如fso等组件的方法一模一样. 
心动了吧,呵呵,下面我们继续.... 
3. 接着,我们开始编写代码,打开我们刚才新建工程类窗口,第一步,先声 
明我们要用到的变量.主要是在vb声明替代asp几大对象的变量名,定义这 
asp的几大对象后,我们就可以像在asp环境中调用类似request,server等 
这样的几大对象了.(声明的变量名完全可以和asp对象名一样)代码如下: 
'********************************************** 
private mys criptingcontext as s criptingcontext 
private myapplication as application 
private myrequest as request 
private myresponse as response 
private myserver as server 
private mysession as session 
'********************************************** 
4. 声明完变量后,我们必须在类中写onstartpage子函数.本函数的作用是 
当用户访问一个带有本组件的asp文件时,iis就会把s criptingcontext传 
送给我们vb组件对象.这个s criptingcontext包括了全部的asp方法和属性 
.这样,就使得我们有能力访问所有asp的对象.代码如下: 
'***************************************************************** 
public sub onstartpage(passeds criptingcontext as s criptingcontext) 
set mys criptingcontext = passeds criptingcontext 
set myapplication = mys criptingcontext.application 
set myrequest = mys criptingcontext.request 
set myresponse = mys criptingcontext.response 
set myserver = mys criptingcontext.server 
set mysession = mys criptingcontext.session 
end sub 
'***************************************************************** 
通过上面的函数,我们在asp中调用本组件后,上面的几大对象就完全可以 
像平时我们在asp使用一样了,举个例子: 
在asp中实现接收提交的表单值并输出屏幕: 
<% 
formvalue=request.form("username") 
response.write ("你提交的用户名是"&myformvalue&",欢迎您!") 
%> 
在vb中实现方法是: 
formvalue=myrequest.form("username") 
myresponse.write ("你提交的用户名是"&myformvalue&",欢迎您!") 
5. 相对应于onstartpage函数,我们还要编写一个关闭onstartpage中对象 
的onendpage函数,代码如下: 
'********************************* 
public sub onendpage() 
set mys criptingcontext = nothing 
set myapplication = nothing 
set myrequest = nothing 
set myresponse = nothing 
set myserver = nothing 
set mysession = nothing 
end sub 
'******************************** 
6.通过编写上面的代码,我们在vb中编写asp组件实例的环境已经具备了, 
下面,我就尝试写两个与asp中基本相类似的函数,也就是说,关键部位就在 
这里了,你完全可以把你所有的asp源码封装在这里... 
先写个最简单的输出屏幕信息函数: 
'******************************************** 
public sub welcomeinfo() 
myresponse.write ("爱易学习网_web开发,欢迎访www.aiyiweb.com!") 
end sub 
'******************************************** 
再写个带参数传递及显示now()现在时间的函数: 
'********************************** 
public sub setinfo(content as string) 
myresponse.write content & "<br>" 
myresponse.write "现在的时间是:" & now() 
end sub 
'********************************** 
通过上面的asp代码实例,你会发现其实这和asp源码基本没有区别^_^ 
7. 好了,整个类就编写完了,我们开始打包封装成dll.我们先保存工程, 
这里我们保存到e:\vbdll,接着选择菜单上的文件>>生成aspdll.dll,很 
快的dll组件就封装并生成完毕了. 
8. 生成dll文件后,我们开始调试和使用.在系统运行栏输入cmd,进入dos 
命令行状态,我们要注册刚才生成的dll组件,注册方法是可以直接输入 
regsvr32 e:\vbdll\aspdll.dll ,为了安装方便,你同时可以写个批处理 
文件,这里不一一举例了...好,注册成功! 
9.注册完dll组件后,我们针对刚才的组件,按照上面介绍过的方法编写一 
个asp文件来调试.代码如下: 
<% 
set redll = server.createobject("aspdll.demo") 
redll.welcomeinfo 
response.write "<hr />" 
redll.setinfo("传递参数到服务器组件,并返回值及当前日期now()!") 
response.write "<hr />" 
set redll = nothing 
%> 
在iis中打开此文件,屏幕显示: 
爱易学习网_