Delphi VCL Component (Visual Component Library)
Delphi VCL Component (Visual Component Library)
The Visual Component Library (abbreviated VCL) is a visual component-based object-oriented framework for developing Microsoft Windows applications. It was developed by Borland for use in, and tightly integrated with, its Delphi and C++Builder RAD tools (now owned by CodeGear, division of Embarcadero Technologies). It is written in Object Pascal.
A cross-platform equivalent of the VCL, called CLX (Component Library for Cross Platform), was later developed for use in Delphi, C++Builder and Kylix. It was however abandoned in favor of the VCL.
VCL forms a class hierarchy with a common ancestor, the TComponent class (which inherits from TObject, the root class in Delphi Object Pascal). This is a common approach shared by the Java programming language, Smalltalk, C# and many other object-oriented programming languages.
VCL components cover Windows controls like windows (TForm class), controls (e.g., TButton, TCheckBox, TLabel classes) as well as database access (e.g., ADO or IBX components) or Internet connections (Indy components). The component approach allows programmers to extend the VCL with many visual and non-visual additional components. There is a large number of free and commercial component packages. Among them are JEDI, TMS, Developer Express, Mitov Software, Raize Software, TurboPower, IOComp, SDL, DA-SOFT Technologies and many others.
While not all VCL components are thread-safe, VCL supports multi-threading too. One example is the built in multi-threading support of the OpenWire VCL library.
VCL provides native support for PME (Properties, Methods and Events) model at .NET level.
.NET is modeled after VCL, since one of the main architects of the first Delphi versions, Anders Hejlsberg, went to Microsoft and was one of the main architects of NET there.
Firemonkey: Firemonkey is a WPF like but cross-platform GUI Framework developed by Embarcadero Technologies in order to provide Delphi and C++Builders with a cross platform compatible modern GUI framework.