通过VB6将ASP编译封装成DLL组件最简教程 附全部工程源文件

ASP教程 2025-08-21

因为近期问的网友比较多,就简单整理出来一个,有问题可以通过评论

1、新建DLL

打开VB6-- >文件-- >新建工程-- >选择ActiveX DLL-- >确定

2、将默认工程、类重命名

工程重命名:工程-- >工程1 属性(此名称对应窗体内工程项目名称)-- >在打开对话框中将“工程名称”重命名为ASP2DLL(当DLL组件在系统中注册后,在asp中默认的调用方法是“工程名.类名”)-- >确定

类重命名在属性窗口中将名称重命名为Demo

3、定义ASP基本对象

添加模块:工程-- >添加模块-- >选择“模块”-- >打开

重命名模块:工程资源管理器-- >模块--Module1-- >在属性窗口中将Module1重命名为“ASPMod”

添加模块代码,此段代码几乎适用于所有使用vb封装的asp DLL组件中,其中的ASP2DLL更改为工程名或者在调用时保持一致即可,代码如下:

复制代码 代码如下:

Public objContext As ObjectContext

Public Application As ASPTypeLibrary.Application

Public Server As ASPTypeLibrary.Server

Public Session As ASPTypeLibrary.Session

Public Response As ASPTypeLibrary.Response

Public Request As ASPTypeLibrary.Request

Public Sub ASP2DLL_Initialize()

On Error Resume Next

Set objContext = GetObjectContext

Set Application = objContext.Item("Application")

Set Server = objContext.Item("Server")

Set Session = objContext.Item("Session")

Set Request = objContext.Item("Request")

Set Response = objContext.Item("Response")

End Sub

Public Sub ASP2DLL_Terminate()

On Error Resume Next

Set Application = Nothing

Set Server = Nothing

Set Session = Nothing

Set Request = Nothing

Set Response = Nothing

Set objContext = Nothing

End Sub

Public Function Eval(ByRef strEval)

Dim EvalObject As New ScriptControl

EvalObject.Language = "VBScript"

Eval = EvalObject.Eval(strEval)

Set EvalObject = Nothing

End Function

4、保存新创建的DLL

文件-- >保存工程,一路确定下来,将模块、类模块、工程文件全部保存在一个文件夹下

5、类模块中调用ASP对象

工程资源管理器-- >类模块-- >双击Demo切换到Demo类模块代码编辑器,贴上代码,初始化类调用及类销毁,代码如下:

复制代码 代码如下:

Private Sub Class_Initialize()

ASP2DLL_Initialize

End Sub

Private Sub Class_Terminate()

ASP2DLL_Terminate

End Sub

至此,一个基本的DLL框架结束,下面可以根据自己需要去完善所需封装的函数了。

6、新创建一个测试函数

在Demo类模块下贴上以下两段测试函数。

复制代码 代码如下:

Public Sub hello()

Response.Write ("Hello World!")

Exit Sub

End Sub

7、编译生成DLL

文件-- >生成ASP2DLL.dll-- >选择工程所在文件夹确定,ok,至此如果没有错误信息提示的话,则证明dll组件已编译成功。

8、注册、卸载组件

在ASP2DLL.dll组件所在目录创建

“注册.bat”批处理文件,输入:

复制代码 代码如下:

iisreset/stop

regsvr32/s ASP2DLL.dll

iisreset/start

“卸载.bat”批处理文件,输入:

复制代码 代码如下:

iisreset/stop

regsvr32 /u /s ASP2DLL.dll

iisreset/start

双击运行注册.bat,成功注册会提示:“ASP2DLL.dll 中的 DllRegisterServer 成功。”

9、在ASP程序中调用刚封装好的DLL组件及测试函数

步骤2中我们知道“当DLL组件在系统中注册后,在asp中默认的调用方法是‘工程名.类名'”,因此,应这样创建对象:set Obj = Server.CreateObject("工程名.类名") ,代码如下:

复制代码 代码如下:

< %

Dim ASP2DLL

Set ASP2DLL = Server.CreateObject("ASP2DLL.Demo")

ASP2DLL.hello()

Set ASP2DLL = Nothing

% >

10、包含工程文件等相关所有内容打包下载链接(20110221更新下载链接) 打包下载

在编译DLL时需要注意的几点:

1、避免使用vb保留关键字作为函数或变量名;

2、正则、部分Vbscript函数如Eval需要加载“工程-- >引用-- >Microsoft Script Control 1.0”及“Microsoft VBScript Regular Expressions 5.5”;

3、封装并不能带来本质上的速度提升,虚拟主机、远程服务器需有组件注册权限;

4、对已经存在的组件名称或者修改了dll文件,必须先停止IIS,再重启IIS注册dll组件;

5、VB6 SP6精简绿色版下载链接

原文来自:?cateID=20 感谢作者的辛勤劳动,东西太好了,就是网站访问太慢了