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

  1、新建DLL

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

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

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

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

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

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

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

  3、定义ASP基本对象

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

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

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

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

  添加模块代码,此段代码几乎适用于所有使用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 成功。”

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

  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精简绿色版下载链接

  原文来自:http://www.dlstu.cn/code/default.asp?cateID=20 感谢作者的辛勤劳动,东西太好了,就是网站访问太慢了