赞
踩
OLE 是一种机制,它允许用户创建和编辑包含由多个应用程序创建的项或者“对象”的文档。
注意 OLE 最初是对象链接和嵌入 (Object Linking and Embedding) 的首字母缩写词,但现在被称为 OLE。OLE 中与链接和嵌入无关的部分现在已成为 Active 技术的一部分。
OLE 文档(过去被称为复合文档)无缝地集成了各种类型的数据或组件。声音剪辑、电子表格和位图是 OLE 文档组件的典型示例。应用程序中的 OLE 支持使用户能够使用 OLE 文档,而不必考虑在不同的应用程序之间切换;因为该切换由 OLE 完成。
您使用容器应用程序创建复合文档,使用服务器应用程序或组件应用程序在容器文档中创建项。编写的任何应用程序可以是一个容器、一个服务器或既是容器又是服务器。
为了实现应用程序之间的无缝交互,OLE 纳入了许多不同的概念。这些概念包括:
在容器应用程序中可以使用“粘贴”命令创建嵌入组件或嵌入项。嵌入项的源数据作为包含嵌入项的 OLE 文档的一部分进行存储。按照这种方式,字处理器文档的文档文件既可以包含文本,也可以包含位图、图形、公式或者其他任何数据类型。
OLE 提供了另一种并入其他应用程序的数据的方法:创建链接组件、链接项或链接。创建链接项的步骤与创建嵌入项的步骤类似,不同之处在于使用的是“粘贴链接”命令,而不是“粘贴”命令。与嵌入组件不同,链接组件存储原始数据(常在单独文件中)的路径。
例如,如果正在字处理器文档中工作,并且创建了到某些电子表格单元格的链接项,则该链接项的数据就存储在原始电子表格文档中。字处理器文档只包含指定可在何处找到该项的信息,也就是说只包含到原始电子表格文档的链接。双击这些单元格时,就会启动电子表格应用程序,并从存储原始电子表格文档的地方加载原始电子表格文档。
无论是嵌入项还是链接项,每个 OLE 项都有一个基于创建该项的应用程序的关联类型。例如,Microsoft Paintbrush 项是一种类型的项,Microsoft Excel 项是另一种类型的项。不过,有些应用程序可以创建不止一种项类型。例如,Microsoft Excel 可以创建工作表项、图表项和宏表项。这些项中的每一个都可通过类标识符或 CLSID 由系统唯一标识。
就地激活(可视化编辑)
注意 链接和嵌入以及就地激活是 OLE 可视化编辑的主要功能。
注意 自动化在 OLE 和 Active 技术上下文中均有效。可以自动化任何基于 COM 的对象。
统一数据传输
容器和服务器
容器应用程序是可将嵌入项或者链接项并入自己的文档中的应用程序。容器应用程序管理的文档必须能够存储和显示 OLE 文档组件以及应用程序自身创建的数据。容器应用程序还必须使用户能够在必要时通过激活服务器应用程序插入新项或者编辑现有项。
服务器应用程序或组件应用程序是能够创建供容器应用程序使用的 OLE 文档组件的应用程序。服务器应用程序通常支持拖放或者支持将数据复制到剪贴板,以使容器应用程序可以将数据作为嵌入项或链接项插入。应用程序可以同时是容器和服务器。
多数服务器都是独立的应用程序或者是完全服务器;它们既可以作为一个独立的应用程序运行,也可以由容器应用程序启动。袖珍服务器是服务器应用程序中的一种特殊类型,它只能由容器启动,而不能作为独立的应用程序运行。Microsoft Draw 和 Microsoft Graph 服务器即属于袖珍服务器。
容器和服务器之间不直接通信,而是通过 OLE 系统动态链接库 (DLL) 进行通信。这些 DLL 提供容器和服务器调用的函数,而容器和服务器又提供 DLL 调用的回调函数。
使用这种通信方式,容器不需要知道服务器应用程序的实现细节。它允许容器不必定义它适用的服务器类型,就可接受任何服务器创建的项。因此,容器应用程序的用户可充分利用将来的应用程序和数据格式。只要这些新应用程序是 OLE 组件,复合文档就能够并入那些应用程序创建的项。
从MSDN里找到的,做个备忘,呵呵,OLE是个好东西,可以提供不同程序之间的接口.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。