admin管理员组文章数量:1540014
2024年7月3日发(作者:)
什么是ActiveX DLL
作者:Vson 日期:2006-01-03
字体大小: 小 中 大
ActiveX是微软提出的广泛应用于Windows系列的一种代码封装技术,提高了程序
代码的可重用性,加快了程序项目的开发速度,一般被称为“组件”。在VB6的集成开
发环境当中,我们可以看到一下几种ActiveX项目:
1、ActiveX EXE
这是在“过程外”运行的ActiveX/COM服务器组件,也就是说他们运行的过程和初
始化组件的客户机代码不同。尽管可以用ASP访问ActiveX EXE,但是不推荐改动IIS元
库,该库允许所有的可执行文件由服务器上运行的脚本代码启动。
2、ActiveX OCXs
这些特殊的组件把主机应用程序显示和操作组件所需的附加支持包含在GUI环境
中。还可以把OCX组件放在网页当中。但是,OCX是应用程序界面,不可以使用ASP
来创建的。
3、ActiveX文档DLL和ActiveX文档EXE
Active文档可以在OLE文件箱应用程序中,例如IE或者Office Binder,显示VB
表单。但他们在ASP不能应用。
4、ActiveX DLLs
这些ActiveX/COM组件和初始化组件的客户机在同一个进程中运行。而我们要讨论
的ActiveX DLL正是整个组件。一般微软的附加组件和其他的一些第三方厂家提供的各种
组件都是这种类型的ActiveX DLL,但是并不全是使用VB编写的,同样可以使用VC/JA
VA等等语言来开发。
探讨完了什么是ActiveX DLL,我们开始正式编写我们自己的ActiveX DLL,以便来
实现ASP中的同样功能,众所周知,ASP内置了Response、Request、Server、Sessi
on、Application五个对象,其实这五个内置对象正是IIS控制台初始化的五个ActiveX
DLL组件,既然IIS可以初始化这五个组件用于ASP中,我们当然也可以直接在我们的A
ctiveX DLL中引用这些组件来实现我们的编程,也就是说我们可以在VB应用程序中通过
引用这些组件来实现访问ASP内置对象的功能。
只要你安装了PWS4或者IIS4以上的WEB服务器,你就拥有了一个名称叫做“Mic
rosoft Active Server Pages Object”的对象库,我们可以在VB的ActiveX DLL应用中
引用这个对象库,通过引用这个对象库,我们就获得了一个对象(类):ScriptingConte
xt,这个对象也正是我们整个文章探讨的核心对象。对象库内的关系如下:
对象库 类 类成员
ASPTypeLibrary ScriptingContext Application
Request
Response
Session
Server
通过上面的关系图,我们就可以很容易理解类ScriptingContent。下面我们来看一
个具体的例子吧:
1、 使用VB6创建一个新的ActiveX DLL项目
2、 引用“Microsoft Active Server Pages Object”对象库。
3、 创建两个组件事件:OnStartPage以及OnEndPage
4、 在事件OnStartPage中创建类ScriptingContent的一个引用。
5、 实例化类ScriptingContent。
(类实现)
''对象的声明
Dim rp as Response
Dim rq as Request
Dim ap as Application
Dim sr as Server
Dim sn as Session
''当组件被创建的时候会触发这个事件
Public Sub OnStartPage(mysc as ScriptingContent)
''进行对象的实例化
set rp=se
set rq=t
set sr=
set ap=ation
set sn=n
"
ActiveX DLL组件已经被创建了!
"
End Sub
''当组件被销毁的时候触发这个事件
Public Sub OnEndPage()
"
ActiveX DLL组件已经被销毁!
"
''销毁对象
Set rp=nothing
Set rq=nothing
Set sr=nothing
Set ap=nothing
Set sn=nothing
End Sub
''定义我们自己的一个组件方法
Public Sub HelloWorld()
"
Hello,World!
"End Sub
这样,我们就创建可以访问ASP内置对象的ActiveX DLL了。我们命名这个组件项
目为first,在VB中间编译这项目成为一个DLL文件,并且我们在系统中注册这
个DLL文件。接下来,我们需要一个简单的几乎没有什么代码的ASP程序来调用这个组
件:
<%
Dim testme
''创建我们刚才编译成功的组件,一旦创建这个组件,同时会在叶面输出文字“Activ
eX DLL组件已经被
''创建了!”
set testme=object("")
''调用组件的方法
orld
''注销组件,在注销的同时,会自动在叶面显示“ActiveX DLL组件已经被销毁!”
set testme=nothing
%>
版权声明:本文标题:什么是ActiveX DLL 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1719967715a812976.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论