- 6
- 0
- 约 29页
- 2016-10-26 发布于广东
- 举报
第6章 ActiveX DLL/EXE 6.1 COM介绍 COM(组件对象模型)是指客户端与COM对象之间交流的一种二进制规范。 COM可以分为二进制规范、运行期或库两个基本部分。 6.1.2 接口 COM领域的许多人认为COM最重要的和最强大的方面是基于接口的编程。如果编写代码去完成某项功能的话,其接口就是一系列定义某些东西如何使用的方法。 1.组件 组件就是一个具有惟一名称的功能体,并以某种形式的DL或EXE封装或分布。 类模块与COM组件的关系 2.缺省接口 创建COM组件时,这个组件可以包含很多接口,COM允许把其中一个接口设置为客户使用的缺省接口,不能自己选择指定接口的客户将使用缺省接口。 在ActiveX项目中创建一个公共类模块时,VB所创建的接口的名称就是类模块的名称前加一个短下划线,例如,MyTV类模块的缺省接口就是_MyTV。 3.GUID——实体的确定名称 4.接口的详细内容 COM是一种二进制规范,这个二进制规范包括描述一个接口在存储器中的形式以及如何在运行期中访问。 (1)虚拟方法表 (2)接口的要素 (3)接口的原则 (4)接口的不变性 5.IUnknown接口 IUnknown的接口在COM中的作用有两个: 引用计数; 通过询问支持的接口,动态地揭示接口功能。 6.使用Idispatch——后期绑定 IDispatch是一个接口,COM使用它允许客户应用程序在运行期动态地发现和调用组件缺省接口的方法。这种调用组件功能的方式叫作后期绑定,因为在调用方法之前,组件必须查询在运行期是否支持它。 在VB中只要声明一个Object类型的变量,就使用IDispatch接口: Dim objRemote as Object Set objRemote = CreateObject(TV.RemoteControl) objRemote.TurnOnOff 7.组件信息的中央存储库 COM的信息存放在HKEY_CLASSES_ROOT(HKCR)键下。 ActiveX分为4种不同的类型 ActiveX控件 ActiveX文档 ActiveX DLL ActiveX EXE 6.2 ActiveX DLL/EXE ActiveX DLL/EXE这种“程序库”组件能做什么呢 Dim com As New ADODB.Command com.CommandText = “Select * from books” ActiveX DLL和一般传统的DLL(例如提供Windows APIs的那些DLL)它们的扩展名都是DLL,但使用方法却不一样。ActiveX DLL提供的是对象,程序员必须以访问对象的方式引用ActiveX DLL组件。而一般传统的DLL,就像我们在调用Windows API时所看到的,提供的是一些具备各式各样功能的过程,而程序员必须先以Declare关键字声明函数名称,才能在程序中调用。 6.2.2 EXE与DLL ActiveX EXE是进程外组件 DLL就不一样了,它寄居在客户端的进程空间内,操作系统看到的只有一个客户端程序进程。 6.3 ActiveX DLL制作与测试 由于VB对于ActiveX的低层实现已经做了很好的封装,所以对于上层用户(程序员)来讲就不需要关心太多的低层问题了,程序员只需要考虑在组件中应该有什么样的功能,怎么实现这些功能。 6.3.1 制作ActiveX DLL 以一个信用卡验证为例子,说明ActiveX DLL的制作与测试过程。我们这里开发的信用卡确认服务器并不是全面的确认信用卡号码。它所做的事情包括: 检查卡是否具有有效类型; 检查其号码是否为可能的信用卡号码。 创建ActiveX DLL的步骤 (1)创建一个新项目,从File菜单中选择“新建工程”选项,并选择ActiveX DLL项目类型 。 (2)单击“确定”按钮,打开空白类模板。 6.3.2 ActiveX DLL测试 (1)从File菜单中选择“添加工程”选项。 (2)从“添加工程”对话框的“新建”标签,选择“标准EXE”项目类型 (3)单击“打开”按钮创建新项目。 (4)右击“工程视图”窗体中“标准EXE”项目,从上下文菜单中选取“设置为启动”选项。 (5)从“工程”菜单中选择“引用”选项。 (6)检查上面创建的ActiveX DLL项目。要求此步骤提供EXE项目,带有ActiveX DLL项目中类模块定义的类信息。
您可能关注的文档
- 新Visual Basic程序设计教程 教学课件 刘炳文 第9章.ppt
- 新Visual Basic程序设计教程 教学课件 刘炳文 第10章.ppt
- 新Visual Basic程序设计教程 教学课件 刘炳文 第11章.ppt
- 新Visual Basic程序设计教程 教学课件 刘炳文 第12章.ppt
- 新Visual Basic程序设计教程 教学课件 刘炳文 第13章.ppt
- 新Visual Basic程序设计教程 教学课件 刘炳文 第14章.ppt
- 新Visual Basic程序设计教程 教学课件 邱李华 郭全 vb第01章.ppt
- 新Visual Basic程序设计教程 教学课件 邱李华 郭全 vb第02章.ppt
- 新Visual Basic程序设计教程 教学课件 邱李华 郭全 vb第03章.ppt
- 新Visual Basic程序设计教程 教学课件 邱李华 郭全 vb第04章.ppt
原创力文档

文档评论(0)