The features described in this topic are obsolete
and should not be used in new IDL code.

Overview

Note
Although the IDLDrawWidget ActiveX control has been replaced by the newer and more robust COM Export bridge, existing applications that include the IDLDrawWidget will continue to function. We recommend that all new development that would use the IDLDrawWidget control now use a custom COM control exported using the COM export bridge.

The 32-bit version of IDL for Microsoft Windows includes an ActiveX control that provides a powerful way to integrate all the data analysis and visualization features of IDL with other programming languages that support ActiveX controls. (The ActiveX control is currently not supported by 64-bit IDL for Windows.) ActiveX is a set of technologies that enables software components to interact, regardless of the language in which they were written. This makes it possible, for example, to design a software interface with Microsoft Visual Basic and have IDL respond to the events it generates. The major features of the IDL ActiveX control include the following:

Other issues to note regarding the ActiveX control are:

The ActiveX interface to IDL consists of a single control called IDLDrawWidget. When this control is included in a project, it exposes the features of IDL through its properties and methods. The IDLDrawWidget can also trigger events. The properties and methods of the IDLDrawWidget are listed in IDLDrawWidget Control Reference.

In this chapter, you will be guided through a series of examples designed to demonstrate techniques for integrating IDL with programs written in Microsoft Visual Basic. These techniques begin with writing a simple application that shows how IDL can respond to Visual Basic events and draw graphics in a Visual Basic window.

A Note about Versions of the IDL ActiveX Control

Periodically, we release a new version of the IDLDrawX ActiveX control. Older versions of the control will continue to work as they always have, but the new versions may include new features or other enhancements.

Why Are New Versions of the Control Created?

One of the features of COM is that interfaces are immutable. That is to say that when you create an interface, you "contractually" agree that the interface won't change. Changes to the way the control interacts with other components require that a new interface, and thus a new version of the control, must be created. Since the IDL ActiveX control is a COM object it is bound by this agreement. When we make improvements to the ActiveX control interface by adding new methods and properties, we release a new ActiveX control with the new interface.

What Must You Change to Take Advantage of a New Control?

If you are a Visual Basic user, you need to add the new version of the control to your project and remove the old versions. For example, if you are upgrading to the "IDLDrawX3 ActiveX Control Module" included with IDL version 5.6 and later, you would add this control to your project and remove the "IDLDrawX ActiveX Control Module" or "IDLDrawX2 ActiveX Control Module" from your project. The source code need not change.

What About Previous ActiveX Controls?

While previous versions of the IDLDrawX control will continue to work with new versions of IDL, they are no longer supported and will not be shipped with IDL. It is recommended that you upgrade to the new version to take advantage of new features and bug fixes.