OLE(Object Linking and Embedding)是一种由Microsoft开发的技术,用于在Windows操作系统中实现对象链接和嵌入。它允许应用程序在同一文档或不同文档之间共享和操作对象的数据

发布时间 2023-06-25 20:19:28作者: suv789

OLE(Object Linking and Embedding)是一种由Microsoft开发的技术,用于在Windows操作系统中实现对象链接和嵌入。它允许应用程序在同一文档或不同文档之间共享和操作对象的数据。

使用OLE,应用程序可以将一个对象插入到另一个应用程序中,并且这个对象仍然保持其源应用程序中的特性和功能。这意味着可以在一个文档中嵌入一个Excel电子表格、一个Word文档或一个图像,并且仍然可以在原始应用程序中编辑和更新这些对象。

OLE还支持对象之间的链接,这意味着一个文档中的对象可以引用另一个文档中的对象。当源对象更新时,链接对象也会自动更新以反映最新的更改。

在使用OLE时,有两个重要的角色:源应用程序和目标应用程序。源应用程序是包含要嵌入或链接的对象的应用程序,而目标应用程序是接收和显示嵌入或链接对象的应用程序。

OLE技术对于实现复杂的文档和数据交互非常有用,使得各种应用程序能够协同工作并共享数据。例如,在Microsoft Office套件中,OLE可以用于在Word文档中插入Excel表格或PowerPoint幻灯片,并保持与源应用程序的连接和更新。

需要注意的是,随着时间的推移,Microsoft已经引入了许多新的技术和标准,如COM(Component Object Model)和.NET Framework,这些技术在某种程度上取代了OLE。然而,OLE仍然广泛应用于许多现有的应用程序和系统中。

下面是Object Linking and Embedding (OLE) 的一些主要版本和功能更新:

OLE 1.0:这是最早的版本,于1990年引入。OLE 1.0 主要用于Windows 3.x 系统,并提供了基本的嵌入和链接功能。它允许在一个应用程序中将对象插入到另一个应用程序中,但对象之间的通信较为有限。

OLE 2.0:这是1992年引入的重大升级版本。OLE 2.0 引入了 Component Object Model (COM) 技术,为对象进行更加严格的定义和交互方式。它引入了双向链接、动态数据交换(DDE) 和自动化控制(Automation Control)等功能。此外,OLE 2.0 支持文件的复合文档,允许将多个不同类型的对象组合到一个单一文件中。

ActiveX Controls:在OLE 2.0 基础上,Microsoft 在1996 年推出了ActiveX Controls 技术(后来被称为ActiveX)。ActiveX Controls 具有跨平台和浏览器兼容性,可以在不同的操作系统和浏览器中使用。ActiveX Controls 可以嵌入到网页中,为网页增加交互性和功能。

OLE Automation:OLE Automation (也称为Automation、OLE/COM Automation)是一种基于OLE 2.0 的技术,允许应用程序之间进行自动化操作和控制。通过OLE Automation,应用程序可以使用其他应用程序的功能和对象,例如通过代码控制Excel中的数据或通过脚本操作Word文档。它为应用程序之间的集成提供了更强大的方式。

OLE for Process Control (OPC):OPC 是一种专门用于工业自动化系统的OLE 标准。它定义了一组基于COM 和DCOM 的规范,用于在工业控制系统中实现设备间的数据交换和通信。OPC 技术使得不同供应商的硬件设备和软件系统能够互相通信和集成,实现更好的系统互操作性。

OLE DB:OLE DB 是一个面向数据库的API (Application Programming Interface),用于在Windows 操作系统中访问和操作各种类型的数据源。它提供了统一的编程模型,允许应用程序通过OLE DB 接口连接和查询数据库,包括关系数据库、文件系统、电子表格等。OLE DB 为应用程序开发人员提供了灵活的数据访问方式,并促进了数据源之间的交互和共享。

OLE Structured Storage:OLE Structured Storage 是一种用于在单个文件中存储和管理多层次结构数据的技术。它是在OLE 2.0 基础上引入的,允许将多个对象、资源和索引以层次结构的形式组织在一个文件内。OLE Structured Storage 在诸如Microsoft Office 文档和复合文档中发挥了重要作用,提供了一种方便的方式来组织和存储相关数据。

Object Linking and Embedding (OLE) 的一些重要版本和功能更新。请注意,随着技术的不断发展和更新,OLE 已经在一些领域被更现代、更灵活的技术所取代,如.NET、XML 和Web Services。然而,OLE 的概念和相关技术仍然具有历史和实际应用的重要性。

OLE Custom Controls:OLE Custom Controls 是一种自定义的OLE 控件,允许开发人员创建自己的可复用组件。它们可以嵌入到其他应用程序中,提供特定功能和用户界面。OLE Custom Controls 基于COM 技术,可以通过编程接口进行控制和交互。

ActiveX Data Objects (ADO):ADO 是一组通过OLE DB 访问数据的组件,可用于在编程语言中进行数据库连接和操作。ADO 提供了一种高级的数据访问模型,使得开发人员可以轻松地与各种数据源(如关系数据库、文本文件和XML 文档)进行交互。

OLE Automation Controllers:OLE Automation Controllers 是支持OLE Automation 技术的应用程序。它们可以通过编程接口与其他应用程序进行通信,并使用其功能和对象。例如,使用OLE Automation Controller,一个应用程序可以控制Microsoft Office 中的Word、Excel 或PowerPoint 等应用程序,从而实现自动化任务和操作。

Dynamic Data Exchange (DDE):DDE 是一种早期的 Windows 技术,允许应用程序之间在运行时共享数据。它被纳入了OLE 2.0 的规范中,作为一种数据交换的方式。然而,随着时间的推移,DDE 的使用逐渐减少,并被更先进和强大的技术所取代。

Component Object Model (COM):COM 是一种面向对象的软件组件技术,为应用程序之间的通信和交互提供了统一的编程模型。OLE 是基于COM 技术构建的,它定义了用于对象共享和嵌入的规范和接口。

Data Object Model (DOM):DOM 是一种用于访问和操作HTML、XML 等文档结构的标准编程接口。OLE 可以通过DOM 接口将文档对象嵌入到应用程序中,并对其进行操作。

Compound Document Format (CDF):CDF 是一种用于描述复合文档类型、内容和布局的标记语言。它与OLE 相关联,用于存储和管理OLE 文档的结构和元数据。

OLE Automation:OLE Automation 是一种基于COM 的技术,允许应用程序通过编程接口自动化其他应用程序的功能。通过OLE Automation,应用程序可以调用其他应用程序的方法、访问其属性,并在运行时进行交互。

OLE Controls:OLE Controls 是一种基于COM 的控件技术,允许开发人员创建可重用的用户界面组件。这些控件可以嵌入到各种应用程序中,并提供特定的功能和用户体验。

OLE Drag and Drop:OLE Drag and Drop 是一种以图形方式在应用程序之间拖放数据的技术。它允许用户将数据从一个应用程序拖动到另一个应用程序中,实现数据的交互和共享。

OLE Automation Servers:OLE Automation Servers 是支持OLE Automation 技术的应用程序或组件。它们可以通过编程接口提供一组功能和对象,并与其他应用程序进行通信。例如,Microsoft Office 中的Word、Excel 和PowerPoint 都是OLE Automation Servers,可以通过编程方式控制和操作它们。

Data Object Embedding (DOE):DOE 是一种将数据对象嵌入到宿主应用程序中的技术。它允许用户在宿主应用程序中直接编辑和处理嵌入的数据对象,而无需打开源应用程序。

OLE Containers:OLE Containers 是一种支持OLE 技术的应用程序或容器,用于承载和管理嵌入的对象。它们提供了界面和功能,使用户可以浏览、编辑和操作嵌入的对象。

Linking:OLE 的一个重要特性是链接(Linking),它允许将源文档中的对象链接到目标文档中,而不是将其完全嵌入。这样,当源对象更新时,目标对象也会自动更新。

In-Place Activation:In-Place Activation 是一种通过双击或选择对象来启动并在宿主应用程序内部编辑对象的方式。它允许用户直接在宿主应用程序中对嵌入的对象进行编辑,而无需打开独立的编辑程序。

Monikers:Monikers 是一种在OLE 中用于标识和定位对象的特殊标识符。它们可以跨应用程序传递,并指示如何访问和操纵特定的对象。

OLE Automation Controllers:OLE Automation Controllers 是使用OLE 技术与OLE Automation Servers 进行通信的应用程序或组件。它们可以通过编程接口调用Automation Server 的方法、访问其属性,并与其进行交互。

In-Process Servers 和 Out-of-Process Servers:In-Process Servers 和 Out-of-Process Servers 是两种不同类型的OLE 服务器。In-Process Servers 在宿主应用程序的进程中运行,而Out-of-Process Servers 则作为独立的进程运行。它们承载和管理OLE 对象,并通过COM 接口与客户端应用程序进行通信。

OLE Control Containers:OLE Control Containers 是支持OLE Controls(例如ActiveX 控件)的应用程序或容器。它们提供了界面和功能,使用户可以嵌入、操作和控制OLE Controls,并与其交互。

OLE Linking and Embedding:OLE Linking and Embedding 是一种将对象链接或嵌入到宿主应用程序中的技术。链接允许对源对象进行修改后自动更新目标对象,而嵌入将整个对象存储在宿主应用程序中。

OLE Drag and Drop:OLE Drag and Drop 是一种在应用程序之间拖放数据的技术。它允许用户通过拖动操作将数据从一个应用程序拖动到另一个应用程序中,并在它们之间进行交互和共享。

OLE Structured Storage:OLE Structured Storage 是一种用于存储和组织复杂数据结构的技术。它提供了一种层次化的存储方式,可以将多个对象和数据流组合成一个复合文档。

OLE Automation Events:OLE Automation Events 允许应用程序在特定条件下触发事件,并通知其他应用程序或组件。通过注册事件处理程序,应用程序可以对事件做出响应并执行相应的操作。

OLE Automation Types:OLE Automation Types 是一组预定义的数据类型和接口,用于实现OLE Automation。这些类型包括整数、字符、字符串、日期、布尔值等,以及与OLE Automation 相关的接口和结构体。

OLE Compound Documents:OLE Compound Documents 是一种将多个对象结合在一起形成一个复合文档的技术。通过将多个嵌入的对象组织成一个层次化的结构,用户可以同时处理和操作这些对象。

OLE Custom Controls:OLE Custom Controls 是使用OLE 技术构建的自定义控件。它们可以在宿主应用程序中嵌入,并通过编程接口进行操控和交互。

OLE Automation Property Pages:OLE Automation Property Pages 提供了一种可视化界面,用于设置和修改OLE Automation 对象的属性。它们允许用户通过对话框或界面元素来编辑对象的属性值。

OLE Drag and Drop Effects:OLE Drag and Drop Effects 定义了拖放操作的效果和行为。例如,拖动操作可以是复制、移动、链接或取消等。通过指定适当的拖放效果,可以控制对象的拖放行为。

OLE Clipboard Formats:OLE Clipboard Formats 是一种标准化的数据格式,用于在剪贴板上共享数据。它定义了数据的结构和编码方式,使不同应用程序可以正确地解析和处理共享的数据。

OLE Automation Error Handling:OLE Automation Error Handling 是一种机制,用于处理在与OLE Automation 对象进行交互时可能发生的错误。它允许应用程序捕获和处理错误,并采取相应的措施。

OLE Automation Servers:OLE Automation Servers 是支持OLE Automation 的应用程序、组件或对象。它们通过COM 接口提供可被其他应用程序调用的功能和服务。

OLE Automation Clients:OLE Automation Clients 是使用OLE Automation 技术与OLE Automation Servers 进行通信的应用程序或组件。它们可以通过COM 接口调用Automation Server 的方法和属性,并获取返回的结果。

OLE Data Transfer:OLE Data Transfer 是一种通过剪贴板或拖放操作共享数据的技术。它允许将数据从一个应用程序传输到另一个应用程序,以便进行处理、展示或编辑。

OLE Automation Naming Conventions:OLE Automation Naming Conventions 是一种命名规范,用于标识和描述OLE Automation 对象的成员(方法、属性、事件等)。它确保成员名称的唯一性和一致性,方便开发人员进行编程和调用。

OLE Object Model:OLE Object Model 是描述OLE 技术的对象、接口和关系的模型。它定义了对象之间的层次结构、成员和方法的调用方式,帮助开发人员理解和操作OLE 对象。

OLE Automation Security:OLE Automation Security 是一组安全机制,用于保护OLE Automation 对象免受未经授权的访问和操作。它包括权限管理、身份验证、加密和数字签名等功能。

OLE Automation Wrapper:OLE Automation Wrapper 是一种用于在不同编程语言之间进行交互的技术。它将OLE Automation 对象包装为本地语言可识别的对象,使开发人员能够轻松地在不同环境中使用这些对象。