COM的概念解析课件.ppt
《COM的概念解析课件.ppt》由会员分享,可在线阅读,更多相关《COM的概念解析课件.ppt(66页珍藏版)》请在三一办公上搜索。
1、1,COM 简 介,第10章,2,10.1.1 COM的概念 组件对象模型COM是Microsoft公司的一种技术基石,在Microsoft公司的MSDN中是这样定义的:“COM是软件组件互相通信的一种方式,它是一种二进制和网络标准,允许任意两个组件互相通信,而不管它们在什么计算机上运行(只要计算机是相连的),不管计算机运行的什么操作系统(只要该操作系统支持COM),也不管该组件机是用什么语言编写的。”,3,COM是基于客户/服务器模型的,每个COM对象的工作方式类似于服务器,可接收收和处理来自客户程序的请求,并产生自动回复信息。COM对象和客户程序,4,通常编写程序,首先要编写源代码,再将这
2、些源代码编译成目标码。这样做会有两个不便之处:1. 如果有多个程序,而它们多数模块的功能相同,仅有部分模块功能不同,那么每个程序都要重新写源代码,重新编译。而已编写好的,功能相同的程序不能被直接使用。2. 不同语言编写的程序,由于源代码不同,因此不能互相调用,例如用VB编写的程序,不能调用其它语言编写的程序,也不能把其它语言编写的源代码直接拷贝的VB程序中。,5,采用COM模型可以提高软件的重复利用率和共享程度。随着应用的发展,程序越来越大,编写程序越来越复杂,可以让一些模块更加通用,把别人编译好的软件直接“嵌入”到自己的软件中,这样使得在开发大型软件时效率大大提高。,6,10.1.2 COM
3、对象的类型 COM对象是通过一系列标准接口与外部程序进行数据交换的。接口是COM对象和调用程序之间订立的协议,它指明COM对象和数据程序交换所使用的方法、属性和事件。一般来说,COM对象有两种类型接口:即标准接口和用户接口。 标准接口是Microsoft公司定义的接口,可以在编写的程序中通过标准接口访问有关的COM对象,这种接口含有或执行各种与COM有关的作业。编写人员也可以根据需要,设计自己的COM对象接口,这就是用户接口。,7,作业4 二、填空题,4. COM对象有两种类型接口,即 和 。答案:标准接口 用户接口,8,10.1.3 Activex与COM的关系 Microsoft的Acti
4、veX技术是遵循COM规程的,或者说是COM理论的具体化。因此ActiveX和COM的关系可以简单描述如下:ActiveX是建立在COM基础上的,它采用简化之后的OLE技术(对象链接与嵌入),并使OLE随时处于激活(Active)状态,以处理信息。,9,10.2 ActiveX简介 10.2.1 ActiveX模型 ActiveX模型包括: ActiveX控件 ActiveX脚本 ActiveX文档 ActiveX服务器框架 ActiveX会议 Java虚拟机,10,1. Activex控件 ActiveX控件是一个提供特定功能的二进制对象。程序开发人员可以把ActiveX控件添加到自己编写的
5、程序中。 ActiveX控件可以用于各种语言环境中,也可以用于Web网页中。 ActiveX控件是一种开放结构式的对象引用技术,它不是某个特定对象的语言产物,编程人员可以通过VB(企业版)、Visual C+、Borland C+以及Delphi等多种语言来建立ActiveX控件,11,2. ActiveX脚本处理 ActiveX脚本处理在诸如VBScript、JavaScript这样的脚本语言中配合使用ActiveX控件的处理过程。通过使用脚本语言,可以使程序更具交互能力。,12,3. ActiveX文档 ActiveX文档是一种ActiveX表示法的非HTML文档。如同Word,Excel
6、建立的Microsoft Office文档一样,通过使用ActiveX文档,可以将一个Microsoft Office文档加入一个Web应用程序中,然后通过制定的浏览器来使用。,13,10.2.2 ActiveX控件 1. ActiveX控件 VB中的控件分两种,即内部控件(标准控件)和ActiveX控件。 ActiveX控件是扩展名为.Ocx的控件,通常存放在Windows的System目录下。可以通过VB集成环境的“工程部件”菜单添加到工具箱中,或从工具箱取消。内部控件是VB工具箱中“常驻”控件,始终出现在工具箱中。,14,把所需的ActiveX控件加到工具箱中的步骤:(1)执行“工程”菜
7、单中的“部件”命令,显示“部件”对话框;(2)在该对话框中选择“控件”选项卡,显示ActiveX控件的列表;(3)在列表框中找到需要添加的控件名称;(4)单击控件名称左侧的复选框;(5)重复上述步骤,选择其它需要加到工具箱中的控件;(6)单击“确定”按钮。,15,2.可插入对象可插入对象也是一种ActiveX控件,只是插入的对象本身就是一个应用程序。执行“工程”菜单中的“部件”命令,打开“部件”对话框。然后选择“可插入对象”选项卡。(演示)由于可插入对象也是一种ActiveX控件,因此也可以把它们加的工具箱中,并像使用普通控件一样使用工具箱中的可插入对象。,16,可插入对象的使用方法例:在VB
8、中使用Microsoft Word可插入对象(1)首先新建一个工程,工程类型选择“标准EXE”;(2)在VB工具箱中加入“Microsoft Word文档”;(3)单击工具箱中的Word图标,然后在窗体上画一个框,该框中将显示Word的编辑窗口;(4)在此窗口中,像在Word环境下一样,输入文字,并按照自己的要求进行编辑,调整格式。(5)完成文档的编辑后,单击窗体上的空白处,Word文档环境消失,所输入的文字出现在窗体上。运行程序,可以显示刚才输入的文档。(6)若要对刚才的文档进行修改,可在Word文档区单击鼠标右键,在弹出的快捷菜单中选择“编辑”命令,返回到Word文档环境。 (演示),17
9、,10.2.3 ActiveX DLL 和ActiveX EXE组件 ActiveX DLL 和 ActiveX EXE 组件就是具有ActiveX机制的动态链接库(DLL)和EXE文件,文件后缀分别是 .DLL 和 .EXE,是一种特殊的动态链接库和可执行文件。 1.ActiveX DLL组件 ActiveX DLL组件属于进程内组件,它与调用它的应用程序在同一个进程中,因而可以快速地访问对象的操作。但是进程内组件必须使用应用程序的执行线程。使用的ActiveX控件(.Ocx)也属于进程内组件。进程内调用组件的原理如下页图所示。应用程序的调用函数必须等待ActiveX DLL组件运行完成后,
10、才能执行下一语句。,18,19,2.ActiveX EXE 组件 ActiveX EXE 组件属于进程外组件,它与调用它的应用程序运行在不同的进程,ActiveX EXE组件与应用程序的数据交换是通过进程间的通信来实现的。进程外组件调用的原理如下页图所示。应用程序不需要等待ActiveX EXE 组件返回,就可以立即执行下一语句。所以ActiveX EXE 组件,可以编写需要异步执行的程序。,20,调用,返回,ActiveX EXE 组件,程序进程,程序进程,21,作业4 二、填空题,5. ActiveX EXE文件的后缀是 。答案:EXE,22,10.3 Activex EXE 组件编程 A
11、ctiveX EXE 组件是运行于进程外的组件,它可以在自己的地址空间运行。 在实际开发中,有时会遇到比较费时、占用计算机资源较多的工作,如大量的数据计算、数据库查询操作等,或者对计算机实时型要求很高的工作,如数据通信程序。在这种情况下,最好采用异步执行方法,减少主程序的等待时间,即采用ActiveX EXE 组件技术实现多进程编程。 ActiveX EXE 编程方法分两步: 1.建立ActiveX EXE 组件; 2.建立ActiveX EXE 组件应用程序。,23,以下了解,24,10.3.1 建立ActiveX EXE 组件建立ActiveX EXE 组件,必须定义类模块,并在类模块中给
12、出组件的调用接口,即类的属性、方法和事件。具体方法如下:第1步:启动VB并创建一个新的工程,在新建工程对话框中。选择“ActiveX EXE”图标,打开一个类模块窗口。第2步:选中该类模块,在属性窗口中,将类的名称设置为Countcls,Instancing属性保存默认设置5MultiUse。(右图)第3步:保存工程和类模块。第4步:根据需要编写类模块代码。,25,类模块一般是作为单独文件保存的。它的扩展名为 .cls。在类模块编写代码时,与普通标准模块程序编写方法基本相同。不同之处是:(1)Initialize和Terminate事件。类模块中存在两个事件:Initialize和Termin
13、ate事件。 Initialize事件执行类的初始化操作,可以在这个事件函数中对类的属性值以及一些变量赋初值。Terminate事件执行类的终止操作,例如释放一些变量等。,26,(2)类属性过程类属性过程比较复杂,编程比较麻烦,但是VB提供了一个外接程序,即类生成器实用工具,可以借助该工具编写类模块的接口程序。例如,我们可在CountPrj工程中编写以下Fuction过程,实现两个整数的求和运算:Function Plus(x As Integer,y As Integer)As Integer Plus = x + yEnd Function,27,第5步:在“工程”菜单中选择“工程属性”,
14、打开“工程属性”对话框,将工程名称设置为CountPrj,其它选项设置为默认值。第6步:保存工程并编译生成EXE文件。由于该工程是一个ActiveX组件工程,所以它虽然是一个EXE文件,但是不能独立运行,只能在其它新建的程序中调用该组件。,28,10.3.2 ActiveX EXE 组件应用程序,ActiveX EXE组件需要通过应用程序来调用。在组件中创建了若干类。为了调用这些类,必须建立类的实例。在应用程序中建立ActiveX EXE组件的引用实例的步骤:第1步:启动VB创建一个新工程,在“新建工程”对话框中选择“标准EXE”,单击“确定”按钮。第2步;选择“工程”菜单中的“引用”项,打开
15、“引用”对话框,在可引用列表框中,选择需要引用的ActiveX EXE程序,然后单击“确定”按钮。,29,30,第3步:创建类的对象若要使用某个类,只有创建类的对象后,才能使用类的一些方法,其语法格式如下: Dim As 声明对象类型 Set = New 创建对象 也可以用以下语法格式声明并创建对象: Dim As New 例如,为了使用上面类中的Plus过程,需要编写代码如下: Private Sub Command1_Klick( ) Dim MyCls As New CountCls Text1.Text=MyCls.Plus(10,10) End Sub,31,第4步:当我们不需要对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- COM 概念 解析 课件

链接地址:https://www.31ppt.com/p-1480339.html