VCL
Borland's Visual Component Library — the component framework behind Delphi and C++Builder that defined drag-and-drop RAD development and still powers native Windows applications today.
Created by Borland (chief architect Anders Hejlsberg)
The VCL (Visual Component Library) is the component framework at the heart of Borland’s Delphi and C++Builder, introduced with Delphi 1.0 in 1995. It is not a standalone programming language but a deeply language-integrated application framework: Object Pascal gained properties, published visibility, method pointers, and rich runtime type information specifically so that the VCL could exist. The combination produced something genuinely new for its time — a visual designer where dropping a button on a form manipulated a real, compiled object whose properties appeared in an inspector and whose events wired to ordinary methods. That “component way” of building software made Delphi famous, shaped Microsoft’s Windows Forms several years later, and still ships today in RAD Studio, where thirty-year-old VCL codebases continue to compile into fast, native Windows executables.
History and Origins
By the early 1990s Borland’s Windows development story rested on Turbo Vision (a character-mode framework for DOS) and the Object Windows Library (OWL), a C++-style class wrapper over the Windows API. Both required substantial code to get a window on screen. Meanwhile Microsoft’s Visual Basic (1991) had demonstrated that drag-and-drop form design could bring Windows programming to a mass audience — but VB was interpreted, produced comparatively slow programs, and made building new controls difficult.
Borland’s answer, developed under chief architect Anders Hejlsberg, was to fuse the two worlds: Visual Basic’s design-time experience with a compiled, object-oriented language. The result launched on February 14, 1995 as Delphi 1.0, with the VCL as its centerpiece. Every control on a Delphi form was an instance of a real Object Pascal class descending from TComponent; the same language used to build applications was used to build the components themselves, so third parties could extend the palette with fully native controls — something VB’s opaque VBX model never allowed.
The framework’s reach widened quickly. Delphi 2 (1996) recompiled the VCL for 32-bit Windows, and C++Builder 1.0 (1997) exposed the Pascal-implemented framework to C++ programmers through Borland’s compiler extensions, an unusual cross-language feat that remains part of the product today. Ownership of the framework passed from Borland to its CodeGear subsidiary in 2006, to Embarcadero Technologies in 2008, and under Idera since 2015 — but VCL development never stopped.
Design Philosophy
The VCL embodies a handful of principles that were radical in 1995 and remain instructive:
- Components over classes. The unit of reuse is the component: a class descending from
TComponentthat can be registered on a tool palette, dropped on a form, and configured visually. Components may be visual (buttons, grids) or non-visual (timers, database connections), and both kinds participate in the same designer. - Properties, methods, events (PME). Customization happens by setting properties and attaching event handlers — delegation rather than subclassing. A
TButtonis used as-is, with itsOnClickpointing at one of your methods, instead of being subclassed to override a click handler. - The language serves the framework. Object Pascal’s
publishedsection exposes properties to runtime type information, which is what lets the Object Inspector enumerate and edit them, and what lets forms be streamed to and from.dfmfiles. Form streaming — serializing an object graph as data rather than generating code — was a defining architectural choice. - Native to the metal. VCL controls wrap the underlying Windows controls and API rather than repainting their own imitations, so VCL applications look, behave, and perform like first-class Windows citizens and inherit OS behavior automatically.
- Ownership-based lifetime. Every component may have an owner (typically its form); when the owner is freed, its components are freed with it — a pragmatic memory-management convention that predates widespread garbage collection.
Key Features
A minimal VCL form unit shows the shape of the framework — the class mirrors what the visual designer produces, and the .dfm resource holds the streamed property values:
unit MainForm;
interface
uses
System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms,
Vcl.StdCtrls, Vcl.Dialogs;
type
TFormMain = class(TForm)
EditName: TEdit;
ButtonGreet: TButton;
procedure ButtonGreetClick(Sender: TObject);
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
procedure TFormMain.ButtonGreetClick(Sender: TObject);
begin
ShowMessage('Hello, ' + EditName.Text + '!');
end;
end.
Highlights of the framework include:
- A deep, coherent class hierarchy:
TObject→TPersistent→TComponent→TControl, withTWinControlfor windowed (handle-owning) controls andTGraphicControlfor lightweight painted ones - Several hundred stock components spanning UI controls, dialogs, data access, and connectivity, plus one of the richest third-party ecosystems in Windows development (DevExpress, TMS, the open-source JEDI/JVCL project)
- Data-aware controls that bind grids, edits, and lists to database datasets through
TDataSource— visual database front-ends with little or no code, a headline feature since 1995 - VCL Styles (since Delphi XE2, 2011) for restyling entire applications with themed skins without changing component code
- Design-time/runtime packages that let component vendors ship libraries which plug into the IDE’s palette and inspector
- LiveBindings and modern touches such as Per-Monitor V2 high-DPI support and a WebView2-based Edge browser control in recent releases
Evolution
The VCL’s history tracks the Windows platform itself: 16-bit in 1995, 32-bit in 1996, full Unicode in Delphi 2009 (which converted the framework’s strings to UTF-16 — widely regarded as the largest breaking change in its history), 64-bit Windows in Delphi XE2 (2011), high-DPI modernization through the RAD Studio 10.x releases, and native Windows on Arm compilation arriving with RAD Studio 13.1 in March 2026.
Its road not taken is equally telling. Borland twice built cross-platform siblings rather than porting the VCL away from the Windows API it wraps: CLX (2001), the Qt-based library behind Kylix for Linux, which was later abandoned, and FireMonkey (2011), the vector-based, GPU-rendered framework that today targets Windows, macOS, iOS, and Android within the same RAD Studio product. The VCL itself stayed deliberately Windows-native — a scope limitation that is also the source of its longevity, since it never had to compromise fidelity to its one platform.
Current Relevance
The VCL remains in active development as one of the two application frameworks shipping in Embarcadero’s RAD Studio, with RAD Studio 13 Florence (September 2025) and its 13.1 update (March 2026) the current releases. Embarcadero continues to invest in it — the new 64-bit IDE is itself a VCL application, and recent releases added AI-oriented components alongside the framework’s traditional strengths. A substantial industry of maintained third-party component suites, an annual conference circuit, and the open-source Lazarus project’s VCL-compatible LCL all attest to a living ecosystem. The framework’s center of gravity is enterprise and commercial desktop software: decades-old line-of-business systems, vertical-market applications, and shrink-wrapped Windows utilities that need small, fast, dependency-free native executables.
Why It Matters
The VCL is arguably the most influential component framework in the history of desktop development. It proved that visual, drag-and-drop design and compiled native code were not opposites — and the proof traveled. When Anders Hejlsberg left Borland for Microsoft in 1996, the component model he had architected for Delphi visibly informed the design of Windows Forms and the .NET component idiom of properties, events, and designers; the free-software world reimplemented the framework outright as Lazarus’s LCL. The PME pattern, the palette-and-inspector IDE, form streaming, and third-party component marketplaces all became standard equipment of GUI toolkits after the VCL demonstrated them at scale. Thirty-one years on, still compiling, still shipping, it stands as a rare example of a 1990s framework that neither ossified nor lost its identity.
Timeline
Notable Uses & Legacy
Skype
The original Skype desktop client for Windows — the application that carried the service to hundreds of millions of users before Microsoft's acquisition — was written in Delphi with a VCL user interface.
Inno Setup
Jordan Russell's free Windows installer builder is written in Delphi and used by a huge number of projects — including Microsoft's Visual Studio Code installer on Windows.
FL Studio
Image-Line's digital audio workstation, one of the world's most popular music production packages, is developed with Delphi and its VCL-based tooling.
Total Commander
Christian Ghisler's venerable dual-pane file manager, in continuous development since 1993 as a shareware staple of the Windows power-user world, is written in Delphi.
RAD Studio IDE
Embarcadero's own IDE for Delphi and C++Builder is itself a large VCL application — the framework is used to build the very tool that builds VCL applications, including the new 64-bit IDE in RAD Studio 13.