asp如何调用DLL来加快服务器的执行速度?
来源:asp之家 发布时间:2009-11-15 20:07:00
1、并双击新建工程窗口中ActiveX DLL图标,VB将自动为项目添加一个类模块,并将该项目类型设置为ActiveX DLL。
2、在属性窗口将类模块的名称属性改为clsDice。
3、从工程菜单中选择工程属性,将工程名称改为MyDLL。
4、从文件菜单中选择保存clsDice,将类模块保存为myDice.cls。
5、添加以下代码:
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,并保存。
下面,我们来引用类clsDice:
dice.asp
' 使用CreateObject函数创建clsDice对象实例(前面创建的ActiveX.DLL--MYDLL.DLL文件)
<!--METADATA TYPE="typelib" FILE="Path/mydll.dll" -->
' Path是mydll.dll在机器上存放的路径
<html>
<head>
<title>精彩春风之调用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为类模块的名称
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>


猜你喜欢
- 初入深度学习,就遇到了困难,一直安装不了tensorflow和keras库!!!真是让人着急!!!在经过无数次尝试,看了无数篇博客之后,终于
- 1.1 闭包1、闭包概念1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了
- 递归是一种较为抽象的数学逻辑,可以简单的理解为「程序调用自身的算法」。 * 对递归的解释是:递归(英语:Recursion),又译为递回,
- javascript曾一度被认为是玩具型的语言,因为它太容易上手,而且,javascript曾一度担任为web站点“打杂”的职责。直到Aja
- 配置babel-plugin-import报错的坑用的是antd design vue生成的项目,按着官网的提示一步一步下来,在配置babe
- Python 是一种美丽的语言,它简单易用却非常强大。但你真的会用 Python 的所有功能吗?任何编程语言的高级特征通常都是通过大量的使用
- 如何用Sleep函数编译一个定时组件?见下: Private Declare Sub Sleep L
- 在Linux系统下Python连接Redis的基本配置方法具体操作步骤系统环境:OS:Oracle Linux Enterprise 5.6
- tkinter是python自带的GUI库,可以实现简单的GUI交互,该例子添加了五种不同效果的Button,如图:from tkinter
- mutilprocess像线程一样管理进程,这个是mutilprocess的核心,他与threading很是相像,对多核CPU的
- 字典的常用方法方便举例,先创建2个字典list_test={"bob":19,"aoa":18,&q
- 重点部分:点击表单的 submit按钮 触发form 部分 @submit=”submit”事件:submit事件 定义在js部分: pre
- 1、string-->numberstring类型 *1 即可变成 number类型2
- Python中执行系统命令常见的方法有以下4种注意:以下实例代码在Python3.5下运行通过。一、os.system方法os.system
- 樂思蜀将SEO工作中所需要的301转向代码进行了整理,收藏并分享,以备查阅。1、IIS下301设置 Internet信息服务管理器 ->
- 目录一 项目描述1.1 背景1.2 实现设计1.2.1 之前的方法1.2.2 优化后的方法二.实现详情2.1 编辑Python可执行文件2.
- 文件的io操作的缓冲行为分为全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作行缓冲:遇到换行符执行一次写操作无缓冲:立刻执行写操作
- tkinter 下拉日历控件网上找的不完善的Tk日历进行修改的,可以快捷的找到并返回日期。效果如下图,上面的是控件,下面的是调用demo窗口
- Python中使用ElementTree可以很方便的处理XML,但是产生的XML文件内容会合并在一行,难以看清楚。如下格式:<root
- Mysql 删除重复数据保留一条有效数据一、Mysql 删除重复数据,保留一条有效数据DELETE FROM SZ_Building WHE