社区
ASP
帖子详情
关于*.dll
wrewrter
2003-08-20 04:28:35
请问*.dll里的函数在ASP中怎样调用?
...全文
76
3
打赏
收藏
关于*.dll
请问*.dll里的函数在ASP中怎样调用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wrewrter
2003-08-21
打赏
举报
回复
还不懂,如果没有类呢
deep2001
2003-08-20
打赏
举报
回复
如何用VB6写COM组件(一)
所幸的是,我们可以用COM组件来在最大程度上扩展ASP的功能。你可知道,任何可以用诸如VB,VC和VJ以及其它的一些程序语言所写出来的东西,都可以被应用到你的网站的开发中去,这就是COM(组件对象模型)。COM能够用来编写能够被ASP所调用的对象。当在VB等编程环境中完成了组件的编制后,就可以放在ASP页面中被ASP所调用了。在这篇文章中,我们将看到如何使用VB6来编写一个COM对象,如何将其注册在服务器上,并在ASP页面中对其进行调用。但在开始之前,让我先来简单的介绍一写关于COM的小知识。
COM对象通常表现为一个.dll文件,是一个编译好了的可执行程序。这意味着COM的运行速度要比纯ASP代码要快的多。在调用COM对象之前,必须在运行IIS服务器的机器上对其进行注册,而且不能通过ASP代码来注册COM组件,这也就是说你必须有对服务器的使用权限。
现在来看一看我们要实现的任务:我们需要创建一个组件,当你对它传递一个年份的时候,它能够告诉你这一年是否为闰年。当然,这个任务可以用VBScript来实现的。这儿是用这个简单的例子,只是为了程序的简便起见,从而能够把更多的注意力放在如何创建组件以及如何同ASP进行交互上面。实际上如同上面所说的那样,你可以使用VB的任何功能来创建这个组件。
首先要做的当然是编写ActiveX dll组建,至于到底如何在ASP中调用它,我们会在后面提及。打开Visual Basic,一个对话框会提示你选择一种新建工程类型,在这儿当然选择“ActiveX DLL”。
如果工程浏览器没有被打开,可以通过选择菜单栏上面的“视图|工程浏览器”来打开它。如果属性窗口也没有打开,同样的方法,可以打开属性窗口。
现在在工程浏览器中点击Project1,然后可以在属性窗口中看到工程的name 属性为Project1,把它改为CheckYear。当然如果你很懒的话,你也可保留这些缺省的设置,只需在后边在ASP中调用它的时候,也使用相应的工程名和类名就好了。
现在在工程中,已经预建了一个缺省的类,你可以按你自己的喜好来重新对其命名。在这儿把类命名为LeapYear。
在类中填写入如下的代码:
Option Explicit
注释:用来判断一个年份是否为闰年的函数
Public Function IsLeapYear(yr As Variant) As Boolean
注释:如果年份能够被4整除并且不能被100整除,或者能够被400整除
注释:那么它就是闰年
If (yr Mod 4 = 0 And yr Mod 100 < > 0) Or yr Mod 400 = 0 Then
IsLeapYear = True
Else
IsLeapYear = False
End If
End Function
上面就是所需要的全部代码了,其实很简单。下面所要做的,就是把它编译成一个dll文件。在“文件”菜单中选择“建立CheckYear.dll...”,再选择要文件要保存的路径。一般的,可以在在服务器上的InetPub目录下面建一个Server Components目录,专门用来存放所有用于ASP中的组件。但这不是必须的,无论你把dll文件保存在什么地方,在编译的过程中,编译程序都会自动的在系统中对组件进行注册
如何用VB6写COM组件(二)
如果你的VB和WEB服务器不是在一台电脑上,那么在把dll文件拷贝到服务器上后,如果要让组件能够被使用,就必须手工对其进行注册。
首先你需要把.dll文件从你开发它的机器上,发送到你的服务器上。一般在www服务器上可以为所有的为ASP写的组件建立一个目录,把那个.dll文件拷贝到那个目录中。比如在InetPUB下建立一个Server Components目录。在完成拷贝后,就可以运行Regsvr32.exe来注册这个组件了。在“开始”菜单中选这“运行”,然后在“运行”对话框中输入regsvr32 和要注册的组件的名称和其完整路径。例如:
Regsvr32 "C:InetPubServer ComponentsMyComponent.dll"
就这么简单,在注册成功之后,你会得到一个成功注册的信息。然后,你就可以在ASP页面中引用这个COM对象了。当然,要完成这些你需要有服务器的访问权限,你可以直接在服务器上注册或者通过诸如pcAnywhere之类的软件实现远程注册。
然后,我们就可以在ASP中调用这个组件了。建立一个ASP页面,并添入下面的代码:
< % Option Explicit
Dim oCheckYear
Dim IsLeapYear
Dim Year
Year = 1900 注释:用来检测组件的年份
注释:建立一个对刚才那个组件的引用
Set oCheckYear = CreateObject("CheckYear.LeapYear")
注释:调用组件中的IsLeapYear函数,并报存结果
IsLeapYear = oCheckYear.IsLeapYear(Year)
注释:清除对组件的引用,好的编程习惯
Set oCheckYear = Nothing
% >
< HTML >
< HEAD >
< TITLE >例子< /TITLE >
< /HEAD >
< BODY >
< %
注释:打印输出
If IsLeapYear = True Then
Response.Write "< P >< b >" & Year & "< /b >是闰年< /P >"
Else
Response.Write "< P >< b >" & Year & "< /b >不是是闰年< /P >"
End If
% >
< /BODY >
< /HTML >
代码很简单,唯一需要解释的,就是在ASP中如何建立对自建对象的引用。它的语法是:CreateObject("Projectname.Classname")。你应该还记得吧,在前面我们把工程命名为CheckYear而把类命名为LeapYear,因而在这儿的语句就是:CreateObject("CheckYear.LeapYear")。一旦你建立了对对象的引用,你就可以在ASP页面中访问其所有的公有元素了。剩下的,就如同调用其它任何ASP内置对象一样简单了。
摘自VB情报局
lions911
2003-08-20
打赏
举报
回复
set obj=server.createobject("工程名.类名")
set a=obj.函数名(变量)
Newtonsoft.Json.
dll
程序文件
json对象格式转化,最新版本 Newtonsoft.Json.
dll
欢迎大家使用。不需要任何分
Fp4autl.
dll
,Fpencode.
dll
,Fp4awel.
dll
安装office2007提示: windows installer 服务不能更新一个或多个受保护的windows文件问题解决. 下载这三个文件保存到对应的路径,即可正常安装.
tcnative-1.
dll
X64
这个tcnative-1.
dll
是Windows X64下Tomcat的一个必备组件
使用水晶报表时CristalDesicisons下的必备
dll
下载
包含:CrystalDecisions.CrystalReports.Engine.
dll
,CrystalDecisions.Data.AdoDotNetInterop.
dll
,CrystalDecisions.ReportSource.
dll
,CrystalDecisions.Shared.
dll
,CrystalDecisions.Web.
dll
,CrystalDecisions.Windows.Forms.
dll
OpenGL安装包(全)
包括: GL.H GLAUX.H GLU.H glut.h GLAUX.LIB GLU32.LIB glut32.lib glut.lib OPENGL32.LIB glaux.
dll
glu32.
dll
glut32.
dll
glut.
dll
opengl32.
dll
ASP
28,391
社区成员
357,060
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章