IDE Toolkit

Room 3 · Form Designers

Delphi's Palette and What You Could Drop onto a Form

The form as a first-class object, and the palette that filled it

Two people work at glowing desktop monitors displaying code in a dim room

One workstation, one screen, and a component library you could open and read.

Borland Delphi arrived in February 1995 carrying an idea that Visual Basic had proved commercially: make the user-interface form the centre of the development experience. What Delphi added was a component model with genuine depth. Where Visual Basic bound controls to a runtime interpreter, Delphi compiled everything — the form, its event handlers, the components dropped onto it — into a single native Windows executable. The Visual Component Library, the Object Pascal framework Borland called the VCL, sat underneath all of it, giving every component a class hierarchy a developer could actually read, subclass and extend.

The form designer itself occupied the upper portion of the screen. Below and beside it sat the Object Inspector — a live property grid that updated the moment a control was selected. Change the Width property numerically in the Object Inspector and the component resized on the canvas simultaneously; drag a handle on the canvas and the Object Inspector's field updated in return. The two panes were a single view of the same object state, and that live mirroring made the mid-drag workflow feel qualitatively different from anything available in the same price bracket.

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.

The component palette ran across the top of the IDE as a tabbed toolbar — Standard, Additional, Data Access, Data Controls, Dialogs, and more. Dropping a TDBGrid onto a form and then dropping a TDataSource and a TTable beside it took perhaps thirty seconds; linking the three through the Object Inspector's dropdown fields wired a live database grid to a Paradox or dBASE table without a line of handwritten SQL. This was the moment developers who had spent years in Clipper or xBase understood what Delphi was for. The database controls were not an afterthought — they were a first-tier feature of the original 1995 release, and they addressed a market Visual Basic served poorly.

VCL, ownership and what extensibility actually meant

The VCL's architecture rewarded expertise. Every visual component descended from TControl; non-visual components — timers, database connections, menu structures — descended from TComponent and appeared on the form's surface at design time as icons that vanished at runtime. A developer building a custom component subclassed the nearest ancestor, overrode the Paint method or the data-aware interface, and installed the result onto the palette. The installed component was indistinguishable from a Borland-supplied one: it serialised to the .dfm form file in the same format, appeared in the Object Inspector with the same property editors, and compiled into the same executable.

The .dfm file — the binary, later text, description of every component's properties and their relationships — was the form's persistent representation. Opening a project compiled the form from that file; saving it serialised the live object graph back. Delphi's compiler, descending from Anders Hejlsberg's Turbo Pascal architecture, was fast enough that a full rebuild of a non-trivial application felt instantaneous on mid-1990s hardware, which kept the edit-compile-run loop short even as projects grew.

Third-party component vendors recognised the market immediately. By 1996 commercial component libraries — grids with cell-level formatting, chart controls, report engines — were available as drop-in palette additions. The extensibility was real because the VCL source code shipped with Delphi Professional and above; a developer encountering unexpected behaviour in a stock component could read the implementation, not just observe it.

This openness, combined with the native-code output and the database-centric palette, defined Delphi's position through the late 1990s. It attracted developers building internal business applications: invoicing systems, warehouse management tools, medical records interfaces — software where a grid that could talk to a database table without ceremony was worth more than a language feature list. Visual Basic's form designer was faster to learn; Delphi's rewarded the developer who stayed longer. The component palette was both the welcome mat and the depth charge.