Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

ArticlesTools for Building Controls


September 1997 / Cover Story / ActiveX Demystified / Tools for Building Controls
David S. Linthicum

As ActiveX becomes more popular, more ActiveX control development tools are appearing. Since ActiveX is language-independent, almost any traditional development tool can build and deploy ActiveX controls. The most popular tools include Borland's Delphi, Powersoft's PowerBuilder, and the arsenal from Microsoft, featuring Visual Basic, Visual C++, and Visual J++.

Frameworks

There are several ways to create ActiveX controls using 3GLs, including:

Most current ActiveX development uses MFC because MFC has been around the longest and many C++ developers know it. Also, unlike the other techniques, MFC enables developers to concentrate on the behavior of the object rather than the interface. The downside (especially for Internet distribution) is the size of the controls and the need for a run-time DLL to exist with the container.

ATL is able to generate code each time you need it using templates. Thus, you don't need libraries or DLLs that have to ship along with the control. ATL requires that you derive a class from several base classes existing as templates. Typically, developers will use the ATL wizard to create the classes automatically. ATL also has drawbacks. It's much more difficult to deal wit h interfaces using ATL since you must create each interface you need for your application. Also, ATL does not support the Class Wizard that's able to automatically keep the Object Description Language and interface definition language files in synch with your code. The wizards leave a lot to be desired.

BaseCtrl is a lightweight library, very much like ATL, but without the templates. BaseCtrl is so lightweight, in fact, that Microsoft does not support it. Several skeleton controls come with BaseCtrl. While BaseCtrl provides an easy-to-understand ActiveX control development model, it's not that much easier than ATL, and it does not provide as much flexibility. For now, it's a poor choice for ActiveX control developers.

Tools

Microsoft's Visual C++ was the first tool to provide capabilities for creating ActiveX controls. Today it provides the most control for ActiveX developers. Visual J++ can also create ActiveX controls. This keeps many Java purists up at night, and it's a good comeback for Microsoft when arguing the ActiveX-versus-Java issue.

Although two of Borland's development tools -- JBuilder and IntraBuilder -- get much attention, Delphi 3.0 and C++ Builder are the only Borland tools able to create ActiveX components. Borland calls Delphi's ActiveX development features Active Inside. The idea is to turn any Delphi Window into an ActiveX form. Active Inside prepares your new control for deployment on the Web. Delphi is also able to link your control to COM or DCOM for links to other objects.

PowerBuilder 5.0 is a client/server development tool redone for use as an ActiveX factory. PowerBuilder is able to deploy Data Windows (the core of PowerBuilder application development) as ActiveX controls, and it allows current PowerBuilder developers to use familiar features such as the PowerScript programming language.

Microsoft has probably the best tools for creating ActiveX controls. Visual Basic 5.0, for example, allows developers to use the friendly visual programming environm ent of VB and the native Visual Basic for Applications language to create controls.


The Tools

illustration_link (15 Kbytes)

Part of ActiveX's flexibility is the number of ways you can develop with it.


Up to the Cover Story section contentsGo to previous article: Tools for Building ControlsGo to next article: Who Owns ActiveX?
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network