社区
ASP
帖子详情
关于*.dll
wrewrter
2003-08-20 04:28:35
请问*.dll里的函数在ASP中怎样调用?
...全文
94
3
打赏
收藏
关于*.dll
请问*.dll里的函数在ASP中怎样调用?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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.函数名(变量)
Fp4autl.
dll
,Fpencode.
dll
,Fp4awel.
dll
标题中的"Fp4autl.
dll
"、"Fpencode.
dll
"和"Fp4awel.
dll
"是Microsoft Office 2007安装过程中涉及的动态链接库(
DLL
)文件,它们在系统中扮演着重要的角色。
DLL
文件是Windows操作系统中的一种共享库,用于存储程序执行...
32位libmysql.
dll
和32位libmysql.lib
libmysql.
dll
** libmysql.
dll
是MySQL客户端库的动态链接库文件,包含了许多用于与MySQL服务器通信的函数接口。程序运行时,会依赖这个库来执行SQL查询、建立连接、关闭连接等操作。因为它是动态链接,所以程序运行...
msado15.
dll
32位和64位各版本的ADO都有
**msado15.
dll
** 文件是微软的ADO 2.0到6.x版本的核心组件,它提供了对数据库连接、记录集、命令、连接对象等的实现。这个文件对于开发人员来说非常重要,因为它允许他们利用ADO功能来创建数据库驱动的应用程序,...
vcruntime140.
dll
问题的解决方法
**vcruntime140.
dll
** 是微软Visual C++运行时库的一部分,它包含了C++标准库中的函数实现,如内存管理、输入/输出操作、字符串处理等,这些功能是许多应用程序运行所必需的。当你在尝试安装Apache服务器时遇到...
c#sqlite的
dll
文件:System.Data.SQLite.
DLL
2. **SQLite.
DLL
**:这是SQLite的动态链接库文件,是程序与SQLite数据库进行通信的核心组件。 3. **C#**:Microsoft开发的一种面向对象的编程语言,用于.NET框架。 4. **
DLL
文件**:动态链接库,是Windows操作系统中...
ASP
28,409
社区成员
356,971
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章