Object Linking and Embedding
Encyclopedia : O : OB : OBJ : Object Linking and Embedding
Object Linking and Embedding (OLE) is a distributed object system and protocol developed by Microsoft.
OLE allows an editor to "farm out" part of a document to another editor and then reimport it. For example, a desktop publishing system might send some text to a word processor or a picture to a bitmap editor using OLE. The main benefit of using OLE, next to reduced file size, is the ability to create a master file. References to data in this file can be made and the master file can then have changed data which will then take effect in the referenced document.
Its primary use is for managing compound documents, but it is also used for transferring data between different applications using drag and drop and clipboard operations. The concept of "embedding" is also central to much use of multimedia in Web pages, which tend to embed video, animation (include Flash animations), and music files within the HTML code.
Technology
OLE 1.0, released in 1990, was the evolution of the original dynamic data exchange, or DDE, concepts that Microsoft developed for earlier versions of Windows. While DDE was limited to transferring limited amounts of data between two running applications, OLE was capable of maintaining active links between two documents or even embedding one type of document within another.
OLE servers and clients communicate with system libraries using virtual function tables, or VTBLs. The VTBL consists of a structure of function pointers that the system library can use to communicate with the server or client. The server and client libraries, OLESVR.DLL and OLECLI.DLL, were originally designed to communicate between themselves using the WM_DDE_EXECUTE windows message.
OLE 1.0 later evolved to become an architecture for software components known as the component object model (COM), and later DCOM.
When an OLE object is placed on the clipboard, it is stored in native Windows formats (such as a bitmap or metafile), as well as being stored in its own, native format. This native format allows an OLE-aware application to embed a portion of another document cut or copied to the clipboard by the user by storing it in the current document.
OLE 2.0
OLE 2.0 was the next evolution of OLE 1.0, sharing many of the same goals, but was re-implemented over top of the Component Object Model instead of using VTBLs. New features were in-place activation, automation and drag-and-drop.
ActiveX
In 1996, Microsoft renamed the OLE 2.0 technology to ActiveX. This version of OLE is commonly used by Web designers to embed multimedia files in Web pages.
In the wake of losing a patent lawsuit with Eolas, Microsoft announced on December 2, 2005, "After a forthcoming update, Microsoft Internet Explorer users will not be able to directly interact with Microsoft ActiveX controls loaded by the APPLET, EMBED, or OBJECT elements."[link] Functionally, this means that Internet Explorer users must "activate" objects such as Flash navigation bars and QuickTime movies before they can interact with them. The objects still display, but the user cannot do anything with them (for example, pause a playing movie) until they activate them. When users move their cursors over such an object a pop-up window directs them to "Click to activate and use this control." If they then click on the object, they may subsequently use it in normal fashion.
See also
- OLE Automation
- OLE for process control
- Component Object Model (COM)
- Distributed Component Object Model (DCOM)
- Dynamic Data Exchange (DDE)
- Microsoft .NET
External links
- Ryan Naraine, "[Microsoft Bows to Eolas, Revamps IE's Multimedia Handling]", December 2, 2005.
- ["Activating ActiveX Controls"] — Microsoft's workaround for the ActiveX issue.
- "[Activate ActiveX]" — an unofficial workaround for the ActiveX issue.
- "[How to stop an ActiveX control from running in Internet Explorer]"
- "[Activate ActiveX]" — an unofficial (and automated) workaround for the ActiveX issue.
- This article was originally based on material from the Free On-line Dictionary of Computing, which is [Foldoc licenselicensed] under the GFDL.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
