OLE Terminology
- Last UpdatedJul 18, 2023
- 2 minute read
OLE superceded the Dynamic Data Exchange protocol. Network DDE was introduced to afford the same data transfer facility between Windows applications connected across the same network. Plant SCADA supports both DDE and Network DDE connectivity.
OLE Linking and Embedding
The differences between linked objects and embedded objects which may affect you, concern where the data is stored, and how it is updated after you place it in the destination file. With linked OLE objects, the source of the OLE object data remains in the original data file of the application that was used to create it, and only a copy of the data is ever displayed in the destination document. The data is updated only when the source file is modified. Embedded OLE objects duplicate and store a local copy of the source file data within the destination document data file, and are not linked to the source file. That is, the data copy in the destination file does not change when you modify the source file.
With both linked and embedded OLE objects, when the OLE object in the destination document is double-clicked, the original application (that was used to create the data) of the OLE object is launched to permit editing of the data using that source program's editor. Linked OLE objects store their data back in the original source data files, while embedded OLE objects store their data in the destination program data files.
OLE Automation
'OLE Automation' was developed to permit the (remote) control of other applications on the same computer. Applications which expose their functionality using OLE Automation are known as OLE Automation servers, and could be automated by code running in a completely separate application, known as OLE Automation clients or controllers.
OLE Automation servers exposed their functionality through structured object models, which are listings of the internal functions, methods and properties of the application object. All Microsoft Office applications are OLE Automation servers to some extent, and can be subsequently controlled by any OLE Automation compliant controller, using the appropriate syntax to manipulate and control the relevant application object model.
Not all applications that support OLE services support OLE Automation. For example, many products support drag-and-drop, and object linking and embedding, but do not support OLE Automation. Linking and embedding allow the user to access the object, whereas OLE Automation allows one application to control another application, possibly with minimal or no user interaction.