【vb精品源码栏目提醒】:网学会员vb精品源码为您提供微计算机技术 - 毕业设计参考,解决您在微计算机技术 - 毕业设计学习中工作中的难题,参考学习。
第10章COM 简 介 1 10.1.1 COM的概念 组件对象模型COM是Microsoft公司的一种技术基石,在Microsoft公司的MSDN中是这样定义的:“COM是软件组件互相通信的一种方式,它是一种二进制和网络标准,允许任意两个组件互相通信,而不管它们在什么计算机上运行(只要计算机是相连的),不管计算机运行的什么操作系统(只要该操作系统支持COM),也不管该组件机是用什么语言编写的。
” 2 COM是基于客户/服务器模型的,每个COM对象的工作方式类似于服务器,可接收收和处理来自客户程序的请求,并产生自动回复信息。
请求 客户程序 COM对象 响应 COM对象和客户程序 3通常编写程序,首先要编写源代码,再将这些源 代码编译成目标码。
这样做会有两个不便之 处:1. 如果有多个程序,而它们多数模块的功能相同, 仅有部分模块功能不同,那么每个程序都要 重新写源代码,重新编译。
而已编写好的, 功能相同的程序不能被直接使用。
2. 不同语言编写的程序,由于源代码不同,因此 不能互相调用,例如用
VB编写的程序,不能 调用其它语言编写的程序,也不能把其它语 言编写的源代码直接拷贝的
VB程序中。
4 采用COM模型可以提高软件的重复利用率和共享程度。
随着应用的发展,程序越来越大,编写程序越来越复杂,可以让一些模块更加通用,把别人编译好的软件直接“嵌入”到自己的软件中,这样使得在开发大型软件时效率大大提高。
510.1.2 COM对象的类型 COM对象是通过一系列标准接口与外部程序进行数据交换的。
接口是COM对象和调用程序之间订立的协议,它指明COM对象和数据程序交换所使用的方法、属性和事件。
一般来说,COM对象有两种类型接口:即标准接口和用户接口。
标准接口是Microsoft公司定义的接口,可以在编写的程序中通过标准接口访问有关的COM对象,这种接口含有或执行各种与COM有关的作业。
编写人员也可以根据需要,设计自己的COM对象接口,这就是用户接口。
6 作业4 二、填空题4. COM对象有两种类型接口,即 和 。
答案:标准接口 用户接口 710.1.3 Activex与COM的关系 Microsoft的ActiveX技术是遵循COM规程的,或者说是COM理论的具体化。
因此ActiveX和COM的关系可以简单描述如下:ActiveX是建立在COM基础上的,它采用简化之后的OLE技术(对象链接与嵌入),并使OLE随时处于激活(Active)状态,以处理信息。
810.2 ActiveX简介10.2.1 ActiveX模型 ActiveX模型包括: ActiveX控件 ActiveX脚本 ActiveX文档 ActiveX服务器框架 ActiveX会议 Java虚拟机 91. Activex控件ActiveX控件是一个提供特定功能的二进制对象。
程序开发人员可以把ActiveX控件添加到自己编写的程序中。
ActiveX控件可以用于各种语言环境中,也可以用于Web网页中。
ActiveX控件是一种开放结构式的对象引用技术,它不是某个特定对象的语言产物,编程人员可以通过
VB(企业版)、VisualC、Borland C以及Delphi等多种语言来建立ActiveX控件 102. ActiveX脚本处理ActiveX脚本处理在诸如VBScript、JavaScript这样的脚本语言中配合使用ActiveX控件的处理过程。
通过使用脚本语言,可以使程序更具交互能力。
113. ActiveX文档ActiveX文档是一种 ActiveX 表示法的非HTML文档。
如同Word,Excel建立的Microsoft Office文档一样,通过使用 ActiveX文档,可以将一个MicrosoftOffice文档加入一个Web应用程序中,然后通过制定的浏览器来使用。
1210.2.2 ActiveX控件1. ActiveX控件
VB中的控件分两种,即内部控件(标准控件 ) 和 ActiveX 控 件 。
ActiveX 控 件 是 扩 展 名为.Ocx的控件,通常存放在Windows的System目录下。
可以通过
VB集成环境的“工程—部件”菜单添加到工具箱中,或从工具箱取消。
内部控件是
VB工具箱中“常驻”控件,始终出现在工具箱中。
13把所需的ActiveX控件加到工具箱中的步骤:(1)执行“工程”菜单中的“部件”命令,显 示“部件”对话框;(2)在该对话框中选择“控件”选项卡,显示 ActiveX控件的列表;(3)在列表框中找到需要添加的控件名称;(4)单击控件名称左侧的复选框;(5)重复上述步骤,选择其它需要加到工具箱 中的控件;(6)单击“确定”按钮。
142.可插入对象可插入对象也是一种ActiveX控件,只是插入的 对象本身就是一个应用程序。
执行“工程” 菜单中的“部件”命令,打开“部件”对话 框。
然后选择“可插入对象”选项卡。
(演 示)由于可插入对象也是一种ActiveX控件,因此也 可以把它们加的工具箱中,并像使用普通控 件一样使用工具箱中的可插入对象。
15可插入对象的使用方法例:在
VB中使用Microsoft Word可插入对象(1)首先新建一个工程,工程类型选择“标准EXE”;(2)在
VB工具箱中加入“Microsoft Word文档”;(3)单击工具箱中的Word图标,然后在窗体上画一个框,该 框中将显示Word的编辑窗口;(4)在此窗口中,像在Word环境下一样,输入文字,并按照 自己的要求进行编辑,调整格式。
(5)完成文档的编辑后,单击窗体上的空白处,Word文档环 境消失,所输入的文字出现在窗体上。
运行程序,可以显 示刚才输入的文档。
(6)若要对刚才的文档进行修改,可在Word文档区单击鼠标 右键,在弹出的快捷菜单中选择“编辑”命令,返回到 Word文档环境。
(演示) 1610.2.3 ActiveX DLL 和ActiveX EXE组件 ActiveX DLL 和 ActiveX EXE 组件就是具有ActiveX机制的动态链接库(DLL)和EXE文件,文件后缀分别是 .DLL 和 .EXE,是一种特殊的动态链接库和可执行文件。
1.ActiveX DLL组件 ActiveX DLL组件属于进程内组件,它与调用它的应用程序在同一个进程中,因而可以快速地访问对象的操作。
但是进程内组件必须使用应用程序的执行线程。
使用的ActiveX控件(.Ocx)也属于进程内组件。
进程内调用组件的原理如下页图所示。
应用程序的调用函数必须等待ActiveX DLL组件运行完成后,才能执行下一语 17句。
程 序 进 程调用 等 待 ActiveX DLL 组件返回 程 序 进 程 182.ActiveX EXE 组件 ActiveX EXE 组件属于进程外组件,它与调用它的应用程序运行在不同的进程,ActiveX EXE组件与应用程序的数据交换是通过进程间的通信来实现的。
进程外组件调用的原理如下页图所示。
应用程序不需要等待ActiveX EXE 组件返回,就可以立即执行下一语句。
所以ActiveX EXE 组件,可以编写需要异步执行的程序。
19 程 序 进 程调用 ActiveX EXE 组件返回 程 序 进 程 20