System.Classes.TComponent

From RAD Studio API Documentation
Jump to: navigation, search

System.Classes.TPersistentSystem.TObjectTComponent

Delphi

TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)

C++

class PASCALIMPLEMENTATION TComponent : public TPersistent

Properties

Type Visibility Source Unit Parent
class public
System.Classes.pas
System.Classes.hpp
System.Classes System.Classes

Description

TComponent is the common ancestor of all component classes.

TComponent is the base class for all components. Components are persistent objects that have the following capabilities:

  • IDE integration. The ability to appear on an IDE palette and be manipulated in a Form Designer.
  • Ownership. The ability to manage other components. If component A owns component B, then A is responsible for destroying B when A is destroyed.
  • Streaming and filing. Enhancements of the persistence features inherited from TPersistent.
  • COM support. Components can be converted into ActiveX controls or other COM objects using wizards provided with Windows products. Components can serve as wrappers for COM objects.
Note: COM features are present in all implementations of TComponent, including those provided for compatibility with OS X. However, COM features are Windows only and cannot be used in multi-device (cross-platform) applications.

TComponent does not provide any user interface or display features. These features are provided by two classes that directly descend from TComponent:

  • TControl, in the FMX.Types unit, is the base class for visual components in applications built with the FireMonkey (FMX) framework.
  • TControl, in the Vcl.Controls unit, is the base class for visual components in Windows-only (VCL) applications.
Note: Only the FMX.Types unit and other FireMonkey-specific units can be used with OS X applications. That is, you cannot use VCL units in multi-device applications.

Components that can be visible at run time are sometimes called visual components. Other components, which are never visible at run time, are sometimes called non-visual components. However it is more common to refer to visual components as controls and non-visual components simply as components.

Do not create instances of TComponent. Use TComponent as a base class when declaring non-visual components that can appear on the component palette and be used in the Form Designer. Properties and methods of TComponent provide basic behavior that descendant classes inherit as well as behavior that components can override to customize their behavior.

See Also