好学IT学院:IT信息技术分享交流平台
标签:DLL  来源:互联网  作者:本站整理  发布时间:2009-04-04  ★★★加入收藏〗〖手机版
摘要:在需要调用DLL信息的ASP页面顶部加上以下两句就OK啦,这样方便一些朋友使用的是虚拟主机,也没有注册组件的权限,小技巧,刚发现,学习学习!…

在需要调用DLL信息的ASP页面顶部加上以下两句就OK啦,这样方便一些朋友使用的是虚拟主机,也没有注册组件的权限,小技巧,刚发现,学习学习!

程序代码

<% @ language="vbscript" %>
<!--METADATA TYPE="typelib" FILE="dll文章的绝对路径"-->
例:在dll中编译以下代码:
程序代码
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
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
Public Sub showinfo()
Response.Write "asp编译DLL,不需要服务器上注册组件!"
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 
 

在一般情况下,如我的dll放在了 d:\myweb\test.dll

那么需要服务器注册:regsvr32 d:\myweb\test.dll
在ASP中使用时:

程序代码

<%
Dim newtest
Set newtest=Server.CreateObject("IT.hxw.red类模块名称")
newtest.showinfo()
%>

在不注册组件的情况下,我们这样来使用:
程序代码
<% @ language="vbscript" %>
<!--METADATA TYPE="typelib" FILE="d:\myweb\test.dll"-->
<%
Dim newtest
Set newtest=Server.CreateObject("类模块名称")
newtest.showinfo()
%>

就可以达到你所预想的效果!为了保护你的程序代码安全,编译DLL是个不错的选择!

不过以上方法,在本机测试通过,因为在编译DLL文件生成时,就已自动注册了DLL文件。把文件移到服务器上或其它电脑上测试,均不能正常运行~看来asp想使用dll封装技术,还是得注册组件,移动性低还是.net有前途呀!~

数据库指南:关于DB2常用技巧解析
  DB2数据库操作是开发人员经常接触到的,是我们最常用的数据库之一,下面就教您一个DB2删除数据时的小技巧,如果您对DB2删除数据方…
  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!