- Control architecture for OLE components, part
- The new version of OLE Controls is called ActiveX.
- Based on COM.
- OLE Controls are reusable embeddable automated user interface components
implemented with OLE. They are implemented as auto-registering
DLLs, that have three entry points: to register and
unregister the OLE objects implemented by the DLL, and a QueryInterface
request to the "class factory", that will manufacture a new object
that supports the requested COM interface, if it
- See also OBJECT embedding in HTML, about
embeding OLE controls in web pages.
- Type Library
- Type libraries expose the interfaces of an OLE Control to other
OLE-aware applications. Each OLE control must have a type library if one
or more interfaces are to be exposed.
- There's a COM interface called ITypeLibrary,
that lets you browse all the type library information embeded in type libraries,
DLLs, and other code containers. It describes all
the symbols defined in a DLL, and their types and function signatures. It
can describe C++ classes, C structures, function defintions, the types of
their arguments, as well as COM interfaces, and OLE
- CConnectionPoint class
- Connection to another object for event and property change notification.
- Connection points support multicasting, broadcasting to multiple
sinks connected to the same interface.
- Every OLE Control must have a "class factory" that creates
instances of it.
- The class factory is able to enforce a license.
- Extended Controls: OLE Containers have a "pad" that goes
along with contained objects, that implements container specific properties
and methods, and delegates to the associated control, seamlessly merging
properties of control with control-specific container properties. This is
based on COM aggregation.