Visual Component Library

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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. However, it was abandoned.

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 the .NET level.[citation needed]

.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.[citation needed]

OpenOffice.org and thus LibreOffice contains an unrelated graphic library also called VCL.

See also[edit]

References[edit]

External links[edit]