引言-概述

OLE/ActiveX/COM技术是MS的核心应用技术,只有彻底洞察其理论精髓,才能以不变应万变。

我们首先从OLE谈起。   

一、过去的OLE和今天的OLE

作为COM技术前身的OLE,其最初含义是指在程序之间链接和嵌入对象数据(Object Link Embeded)。它提供了建立混合文档的手段(资深Windows 3.X 用户可能记得当初在Word6.0中插入一个图形的新奇和喜悦,有关复合文档,后面文章详细讲述),使得那些没有太多专业知识的用户能够很容易地协调多个应用程序完成混合文档的建立。1991年制定的OLE1.0规范主要解决多个应用程序之间的通信和消息传递问题,微软希望第三方开发商能够遵守这个规范,以使在当时的Windows平台上的应用程序能够相互协调工作,更大的提高工作效率。然而事与愿违,只有很少的软件开发商支持它。为此,微软于1993年发布了新的规范——OLE2.0,它在原有的基础上完善并增强了以下各方面的性能:
1.OLE自动化:一个程序有计划地控制另一个程序的能力。
2.OLE控件:小型的组件程序,可嵌入到另外的程序,提供自己的专有功能。
3.OLE文档:完善了早期的混合文档功能,不仅支持简单链接和嵌入,还支持在位激活、拖放等功能。

强大的功能使得很多的开发商开始支持新的OLE技术,因为微软在OLE2.0中建立了一个称为COM(Component Object Model即组件对象模式)的新规范。

二、OLE应用及相关名词
     容器:
     容器是一个客户程序,它具有申请并使用其它COM组件通过接口为其它程序实现的功能;

服务器:
    服务器通过特定的接口将自己完成的一些功能,提供给使用自己的应用程序(例如画笔程序是一个文档服务器,它提供创建并编辑BMP 图像的功能)。当打开Word,选择【插入】菜单下的【对象...】项,您可以看到在您的系统中存在哪些文档服务器,此时的Word以文档容器的身份出现。

在位激活:
    当您双击插入的对象后发现Word的菜单有些改变成文档服务器程序的菜单,可以在当前的环境下编辑对象,这称为在位激活。
  
   自动化:
   和OLE文档技术类似,允许一个应用程序通过编程控制另一个应用程序“自愿”提供的功能的技术称为OLE自动化。自身暴露一些可编程对象给其它程序的应用程序叫自动化服务器,利用并操纵自动化服务器提供的功能的应用程序叫自动化客户或自动化控制器,有些程序既是自动化服务器又是自动化控制器。例如在VC中我们可以通过编程创建并编辑一个Excel工作表(很多参考书都以此为例),这里的VC就是自动化控制器,而创建工作表的Excel程序则是自动化服务器,但在Excel中我们又可以利用VBA语言创建PowerPoint的幻灯片,它又成了自动化控制器。利用OLE自动化技术可以实现软件的一次开发和多次利用,这也是集成组件的关键技术。无论是操作系统还是应用软件,微软都有意识朝着这个方向发展,例如从Windows95开始,包括WindowsNT4.0以后的操作系统的Shell就实现了OLE自动化技术。 那么什么是ActiveX?它和OLE有什么联系呢?

三、ActiveX战略

同早期的功能薄弱的OLE1.0相比,OLE2.0得到了很多软件厂商的支持。许多程序设计人员编写了大量的实现OLE自动化服务器功能的组件(不一定是EXE文件),这些组件一般不求功能齐全、强大,而是实现专门的功能,可以被其它程序编程控制,由此承袭OLE的名字称为OLE控件。它们在文件名中的扩展名一般为OCX(OLE Control Extension)。 微软刚刚赢得广大软件厂商的支持,使OLE技术深入人心,然而“人算不如天算”,国际互联网的超速发展让比尔·盖茨始料未及。加上早期的OLE1.0不得人心,导致后来的人们总把在Word中插入一个图形当作OLE技术的全部,各类资料在介绍新OLE技术时命名也不统一,造成很大的混乱。针对这些情况,微软在1996年重新制订了一个关于OLE的规范——OLE 96规范。这个规范扩展了 OLE控件的能力,并贯彻微软的Internet战略使它更易于在网络环境中使用,还考虑命名混淆的问题,重新给OLE控件贴上一个标签——ActiveX控件。不仅如此,以前的什么OLE文档也相应称为ActiveX 文档了。总之,为了满足Internet战略,微软把OLE换成了ActiveX,企图使人们重新看待新的OLE——ActiveX,把它看做网络上的解决软件组件问题的标准。 许多在Windows上同微软合作得很好的厂商在开发新版本软件时都开始支持ActiveX技术,例如Delphi、PowerBuild等开发工具。原来同Windows竞争的操作系统也开始支持ActiveX,例如Macintosh,甚至老对手OS/2上也可以使用ActiveX控件。ActiveX技术也许真的会成为一个异种平台争相支持的规范,如果能够进一步完善ActiveX、采用更开放的策略以及微软不被卸成八大块的话。

(待续。。)

OLE技术专题——第一讲:OLE概述相关推荐

  1. OLE技术专题——第二讲:复合文件

    复合文件,是微软COM组件思想的起源. 一.其产生背景 文件的存储结构通常有三种格式: 1.非结构化文件: 如:打开记事本程序,输入了一篇文章后,保存所得的文件. 2.标准结构化文件: 如:打开电子表 ...

  2. [XJTU计算机网络安全与管理]第一讲 网络安全概述

    文章目录 [XJTU计算机网络安全与管理]第一讲 网络安全概述 KEY POINTS 一.安全威胁 违反安全性的例子 关键性的安全概念:CIA triad--考点 二.网络安全相关概念--了解即可 三 ...

  3. 青岛科技大学|物联网工程|物联网定位技术(第一讲)|6.7

    目录 物联网定位技术(第一讲) 1. 什么是物联网定位技术? 2. 物联网定位技术主要有哪些? 3. 简述卫星定位系统的发展历史以及GPS的发展概况? (1)卫星定位的由来和发展 (2)GPS的发展概 ...

  4. 语音专题第一讲,麦克风阵列的语音信号处理技术

    转载自地平线机器人大讲堂,主讲人徐荣强. 2011年11月毕业于英国爱丁堡大学通信与信号处理专业,曾任诺基亚,联想,微软高级音频工程师.现在Horizon-Robotics负责语音相关硬件系统设计,涉 ...

  5. 大牛讲堂 | 语音专题第一讲,麦克风阵列的语音信号处理技术

    雷锋网按:徐荣强(Kevin),地平线硬件音频工程师.2011年11月毕业于英国爱丁堡大学通信与信号处理专业,曾任诺基亚,联想,微软高级音频工程师.现在Horizon-Robotics负责语音相关硬件 ...

  6. 3|射频识别技术|第一讲:射频识别技术概述|完整内容

    1 RFID技术 2 射频识别技术的应用 3 射频识别的工作原理以及最小系统 (2023年 2月16日 10:26首次发布)

  7. 工业防火墙架构与技术【第一节:概述】

    1.1.   工控防火墙概述 我们将应用于工业控制网络环境中的防火墙称为工业控制防火墙(ICF,Industrial Control Firewall).工业防火墙(IFW,IndustrialFir ...

  8. 第一讲 网络安全概述笔记

    本讲主要从网络安全.黑客.网络犯罪和网络攻击和防御四个方面讲述,笔记如下: 转载于:https://www.cnblogs.com/P201421420035/p/7583298.html

  9. STC51从入门到精通(汇编)~~~ 第一讲:概述

    目录 1.1 单片机的发展历史: 1.2 单片机的发展趋势: 1.3 单片机的典型产品: 1.4 单片机的应用: 1.5 小结 1.1 单片机的发展历史: 单片机: 将微处理器.半导体存储器.I/O  ...

最新文章

  1. qt下编写linux消息队列,C++11消息队列 + Qt线程池 + QRunnable执行任务简单模型
  2. Java面试题之一 (转)
  3. cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
  4. android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制
  5. 楼燚(yì)航的blog URL
  6. 实现tree系统命令
  7. fis 详细介绍(mac版) - 12-26没有弄完 - 暂停
  8. mysql联合索引和单索引_mysql联合索引跟单列索引的区别
  9. 在Oracle中写出性能优良的SQL语句
  10. numpy ndarray 数组对象
  11. Python调用seek(pos,mode)方法报错Can‘t do nonzero cur-relative seeks
  12. c++的set_unexpected不起作用
  13. Zabbix 4.0.0 新功能介绍
  14. ps去水印教程_叫板 PS!去水印、抠图、加滤镜,这款超强修图应用到底什么来头...
  15. 服务器主板型号详解,支持Intel Xeon的主板
  16. 【嵌入式C语言系列】关键字详解【const】
  17. mt6573芯片资料汇总
  18. 6个好用免费的LiDAR数据处理软件【2021最新】
  19. kaka的使用以及理解
  20. android开发接口调用,Android开发中webService接口调用示例

热门文章

  1. 软件工程-体系结构设计
  2. 海量数据相似度搜索,如相似的网页、图像、文章、query 等相似性搜索
  3. Python爬虫——爬取股票信息生成csv文件
  4. oracle之schema
  5. 回归基础 java基础数据 数据处理
  6. 全球与中国的前50家最佳网站
  7. SWIG使用简明教程(一)
  8. LoadRunner 回放出错
  9. 可以加急的计算机核心期刊,什么核心期刊可以加急
  10. python-绘图与可视化