Object Linking and Embedding was designed to support compound documents (which contain multiple information types, such as text, graphic images, sound, motion video). The Windows desktop is an example of a compound document and Microsoft used OLE to build it. OLE and the Component Object Model (COM), a more general
Learn More
concept that succeeded OLE, support the development of "plug-and-play" programs that can be written in any language and used dynamically by any application in the system. These programs are known as components and the application in which they are run is known as a container. This component-based approach to application development reduces development time and improves the program capability and quality. Windows application development programs such as PowerBuilder and Microsoft Access take advantage of OCXs.
Microsoft now calls an OCX an ActiveX control, the component object under Microsoft's set of ActiveX technologies, of which the fundamental concept is the Component Object Model (COM) and, in a network, the Distributed Component Object Model (DCOM).
An OCX or ActiveX control is actually implemented as a dynamic link library DLL module. (You can think of a DLL program as a "subprogram" that can be used by any number of application programs, each of which is a "container" for the DLL or OCX/ActiveX control "object.") Visual Basic and C++ are commonly used to write OCX or ActiveX controls.