在ASP文件中调用DLL的方法

怪我咯
发布: 2017-03-30 13:30:07
原创
1803人浏览过

动态联接库(dll)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在asp文件也能通过调用dll来加快服务器的执行速度,下面我简单的介绍一下在asp文件调用dll的步骤。
  首先,必须得有dll文件,本例是通过vb5.0创建activex dll文件,这个文件模拟了一个掷色子的过程。
在vb5.0的环境下,新建一个工程,并双击新建工程窗口中activex dll图标,vb将自动为项目添加一个类模块,并将该项目类型设置为activex dll。在属性窗口将类模块的名称属性改为clsdice。从工程菜单中,选择工程属性,将工程名称改为mydll。从文件菜单中,选择保存clsdice,将类模块保存为mydice.cls。添加以下代码:

option explicit

private max, point as integer

public property get result() as integer

result = point

end property

public property get maxpoint() as integer

maxpoint = max

end property

public property let maxpoint(num as integer)

max = num

end property

public sub throw()

randomize

point = int(rnd * max) + 1

end sub

private sub class_initialize()

max = 6

end sub

  这个类模块定义了clsdice对象的两个属性和一个方法,这些属性和方法模拟了掷色子的过程。其中maxpoint属性表示色子的面数,加入property let语句将使客户能修改色子的面数;result属性表示最后掷出色子的点数;throw方法代表掷色子的动作;private sub class_initialize语句将色子的面数缺省的设置为6面。

  从文件菜单中,选择生成mydll.dll并将它保存到适当的地方。至此,我们就创建了一个自己的dll文件。

  第二步要做的就是要在asp文件中引用类clsdice。

  asp(活动服务器页面active server pages)的所有代码都是在服务器上运行的,客户只能查看以html形式传回的结果。它使用“<%”和“%>”标记来标识脚本代码,并不传回客户端,在代码外部,使用html标记来标识内容。在下面dice.asp的代码中使用了createobject函数创建了一个clsdice对象实例,该对象来自于上面创建的activex.dll--mydll.dll文件,下面的例子使用了vbscript脚本语言。

<!--metadata type="typelib" file="path/mydll.dll" -->

'装载 metadata 标签中指定的类型库。 path是mydll.dll在机器上存放的路径

<html>

<head><title>在asp文件使用dll</title></head>

<body>

<%

on error resume next ‘当程序出现意外错误时能继续执行

if request.form("t1")="" then

session("point") = 6

else

session("point")=request.form("t1")

end if

'用session("point")来存放色子的面数

set dice1=server.createobject("mydll.clsdice")

'使用set语句创建dice1对象,其中mydll是上面创建dll文件时的工程名称(注意:不是文件的名称),clsdice为类模块的名称。至此我们就可以用maxpoint,result和throw属性(方法)来对dice1对象进行操作。

if request.servervariables("request_method")="post" then

dice1.maxpoint = session("point") ‘设定色子的面数

dice1.throw ’掷色子

%>

<form method="post" action="dice.asp">

<p>当色子的面数为<input type="text" name="t1" size="5" value=<% = session("point") %>>时</p>

<p><input type="submit" value="掷色子" name="b1"></p>

</form>

<p>结果为:<% = dice1.result %>点 </p> ‘返回结果

<%

else

dice1.maxpoint = session("point")

%>

<form method="post" action="dice.asp">

<p>当色子的面数为<input type="text" name="t1" size="5" value=<% = session("point") %>>时</p>

<p><input type="submit" value="掷色子" name="b1"></p>

</form>

<%

end if

%>

</body>

  以上代码在windows nt4.0+sp3+iis4.0+ie5.0+vb5.0上编译运行通过,但还有不少的缺陷,但我的本意是向大家介绍如何在asp中调用dll,所以我没有去完善它。

电子手机配件网站源码1.0
电子手机配件网站源码1.0

电子手机配件网站源码是一个响应式的织梦网站模板,软件兼容主流浏览器,且可以在PC端和手机端中进行浏览。模板包含安装说明,并包含测试数据。本模板基于DEDECms 5.7 UTF-8设计,需要GBK版本的请自己转换。模板安装方法:1、下载最新的织梦dedecms5.7 UTF-8版本。2、解压下载的织梦安装包,得到docs和uploads两个文件夹,请将uploads里面的所有文件和文件夹上传到你的

电子手机配件网站源码1.0 0
查看详情 电子手机配件网站源码1.0

以上就是在ASP文件中调用DLL的方法的详细内容,更多请关注php中文网其它相关文章!

.dll文件大全
.dll文件大全

.dll文件缺失怎么办?.dll文件在哪下载?不用担心,这里为大家提供了所有的.dll文件下载,无论用户丢失的是什么.dll文件,在这里都能找到。用户保存后,在网盘搜索dll文件全称即可查找下载!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号