IDE Toolkit

Room 3 · Form Designers

Two Form Designers and What Each One Was For

Visual Basic and Delphi shared a canvas and a palette; they differed on who could open the component.

A person typing at a desk with two monitors displaying code in a dim office

The same gesture on either product: place a control, set a property, write the handler.

The Same Idea, Two Implementations

When Visual Basic 1.0 arrived in 1991 and Borland Delphi followed in February 1995, both products put a resizable form at the centre of the development experience. The developer dragged controls — buttons, list boxes, text fields — onto a design-time canvas, and the environment generated the underlying layout code. The interaction model was near-identical: select, place, set properties in an inspector panel, wire an event handler.

What differed was the component boundary. Visual Basic's controls, distributed as VBX files and later as ActiveX OCX controls, were binary units supplied by Microsoft or third-party vendors. A developer consuming a VBX could configure it through its exposed properties and events but could not inspect or alter its internal logic. The box was opaque by design, and extending it meant wrapping it or replacing it entirely.

Two people work at multiple monitors displaying code in a dimly lit room

Building software on the hardware where the form designer found its audience.

Delphi took the opposite position. Its Visual Component Library — the VCL — was shipped as Object Pascal source code. Every button, grid and dialog in the standard palette was readable, subclassable and recompilable. A developer who needed a list box that sorted differently or painted its items with custom colours could descend from the standard class, override the relevant method, drop the new component onto the palette, and use it exactly as any built-in control. The abstraction was not a sealed API but an open inheritance tree.

The practical consequences shaped what each tool attracted. Visual Basic dominated rapid departmental application development — data-entry forms, report launchers, internal utilities — where the standard controls were sufficient and speed of assembly mattered more than extensibility. Delphi, with its single-pass compiler producing native executables and its open component model, pulled developers building shrink-wrapped commercial software and performance-sensitive desktop applications. Third-party component libraries — grids, charting packages, database navigators — thrived on the Delphi market because the VCL made writing and distributing new components a natural extension of the platform.

Neither model was an error. Visual Basic's sealed ActiveX architecture kept its environment predictable and stable for a large, non-specialist audience. Delphi's open VCL, whose lineage is documented in the Embarcadero component framework history, gave specialists a construction kit. The form designer looked the same; the question each product answered was different.