Introduction to the Visual Basic Control Creation Edition

Microsoft Corporation

November 1996

Visual Basic® Control Creation Edition, version 5.0, the newest member of the Microsoft® Visual Basic programming system family, is designed specifically to be the fastest and easiest way to create ActiveX™ controls. ActiveX controls are language-independent software components based on open standards and are for use in Internet and client/server applications.

The creation of active components (ActiveX controls, and Java applets and plug-ins) has been limited to the technically advanced. The Control Creation Edition has changed that overnight. In much the same way the Visual Basic programming system version 1.0 opened the doors of Windows-based development to millions of developers, Visual Basic version 5.0 has opened the doors for widespread active component development. ActiveX controls can now be easily created by nearly any developer.

Visual Basic Control Creation Edition joins the other Editions of the Visual Basic programming system—Standard, Professional, and Enterprise—in the lineup of stand-alone Visual Basic–based development tools (see Figure 1). Additional members of the Visual Basic family are Visual Basic Scripting Edition (VBScript) and Visual Basic for Applications Edition (VBA). Both VBScript and VBA are designed to be integrated into hosting environments, providing state-of-the-art programmability to products such as Microsoft Internet Explorer and Microsoft Office, as well as to many third-party products. Together, the product line of Visual Basic–based tools delivers a scalable development platform in many host environments that is immediately accessible to the more than 3 million developers using Visual Basic today.

Figure 1. The Visual Basic family

Visual Basic Control Creation Edition differs from its stand-alone siblings in three main areas:

Aside from these differences, Control Creation Edition shares many major features with its stand-alone Visual Basic 5.0 siblings:

ActiveX controls created with the Control Creation edition are full-fledged ActiveX controls that are backward compatible with ActiveX control host environments such as the Visual Basic programming system version 4.0, Visual C++ development system version 4.2, Visual FoxPro and Microsoft Access 95. The latest version of Visual Basic for Applications Edition (VBA), version 5.0, also adds support for ActiveX controls. This means that you can now start to use Visual Basic 5.0–based controls in any of the host environments for Visual Basic for Applications version 5.0, including Microsoft Office 97 and upcoming releases from any of the Visual Basic for Applications version 5.0 licensees including products from Visio, Adobe, SAP, AutoDesk, and many others. For more information on Visual Basic for Applications 5.0, go to http://www.microsoft.com/vba/.

The Control Creation Edition creates fast, compact controls based on the technology described in the latest release of the Microsoft ActiveX Control SDK. A typical control built with the Control Creation Edition is approximately 20K bytes, and as such the control performs equally well in applications targeting the Internet or client/server architectures. In either case, ActiveX controls built with the Control Creation Edition are downloaded on demand and interpreted by the Visual Basic virtual machine on the client in the same manner as a Java applet. The Visual Basic virtual machine's presence is required to run a Control Creation Edition–built ActiveX control. If an end user lacking the virtual machine encounters a Web page with a Control Creation Edition ActiveX control, the virtual machine will be automatically downloaded as a one-time compressed download of approximately 700K. Subsequent ActiveX controls encountered only require the downloading of the control itself.

There are three general usage scenarios for creating ActiveX controls with the Control Creation Edition:

Licensing implications for the use of third-party ActiveX controls in Control Creation Edition–built controls are generally consistent with licensing practices for third-party ActiveX control usage within an application. ActiveX controls customarily supply two licensable elements—a design time element and a run-time element. A developer who obtains rights to use a third-party control within an application typically purchases the full design-time rights to use that control in design time in any development environment. After building such an application, the developer then has the right to distribute that application .EXE along with the run-time element of the control to end users. End users get the benefits of that ActiveX control inside the application, but they cannot use the control in design mode should they have a development tool installed.

The situation is the same for the Internet scenario. One may create an ActiveX control with Control Creation Edition based on a purchased third-party ActiveX control. That control may then be distributed within a Web page. An end user who "runs" the control inside the Web page has full run-time rights to that control inside that page, but may not use the control in design mode without first obtaining a license to use the control in design mode. Note that this generally describes the customary legal usage of ActiveX controls available today, but some ActiveX controls do have licensing policies that vary from the above—you should always consult the license agreement provided with ActiveX controls for exact usage rights and restrictions.

For more information on Visual Basic Control Creation Edition, see the following articles in the MSDN Library: