General Concepts

What is ActiveX?

ActiveX is a marketing name for a set of technologies and services based on the component object model (COM). ActiveX is not a programming language but rather a set of rules for how applications share information.

COM and OLE introduce a programming model based on reusable designs and code. The architecture of OLE accommodates new technologies without requiring modification to the base designs.

What is an ActiveX Control?

An ActiveX control is a component program object or interface that can be reused by multiple application programs within a computer or among computers in a network. Programmers can use ActiveX controls in a variety of languages, including C, C++, Visual Basic, Java, and of course, Zim.

ActiveX controls run in a container, an application program that uses the component object model (COM) program interfaces. The controls can run in a wide variety of containers, including Zim, Visual Basic®, Visual C++®, Microsoft® Access, and Microsoft® Internet Explorer. ActiveX controls can be automatically downloaded and executed by a Web browser.

ActiveX controls are similar to Java applets. However, unlike Java applets, ActiveX controls have full access to the Windows operating system. This makes them more powerful than Java applets; with this power comes a risk that the applet can damage software or data on the machine. To control this risk, a registration system has been developed so that browsers can identify and authenticate an ActiveX control before downloading it. ActiveX controls are currently limited to Windows environments.

ActiveX controls are scalable. Their functionality can be very simple, such as a timer control, or very complex, such as a word processor control. This scalability is important because it enables ActiveX controls to be reused as software components in bigger applications.

What is OLE?

Object Linking and Embedding (OLE) is a collection of Component Object Model (COM)-based interfaces, integrating data from any source to their enterprise organization. OLE bridges back-end data sources with client-based, server-based, and web-based consumer applications.  OLE is viewed as a reusable architecture for component software that accommodates new designs and new technology. OLE is a subset of ActiveX.

COM is a way for software components to communicate with one another. As a binary and network standard, it enables two components to communicate regardless of what machine they are running on or the language in which the components were written. The COM standard defines the following: