Properties, Methods, and Events

From RAD Studio
Jump to: navigation, search

Go Up to Understanding the Component Library

The VCL hierarchy of classes is tied to the IDE, where you can develop applications quickly. The classes in the VCL are based on properties, methods, and events. Each class includes data members (properties), functions that operate on the data (methods), and a way to interact with users of the class (events). The VCL component library is written in the Delphi language, and it is based on the Windows API.


Properties are characteristics of an object that influence either the visible behavior or the operations of the object. For example, the Visible property determines whether an object can be seen in an application interface. Well-designed properties make your components easier for others to use and easier for you to maintain.

Here are some of the useful features of properties:

  • Unlike methods, which are only available at run time, you can see and change some properties at design time and get immediate feedback as the components change in the IDE.
  • You can access some properties in the Object Inspector, where you can modify the values of your object visually. Setting properties at design time is easier than writing code and makes your code easier to maintain.
  • Because the data is encapsulated, it is protected and private to the actual object.
  • The calls to get and set the values of properties can be methods, so special processing can be done that is invisible to the user of the object. For example, data could reside in a table, but could appear as a normal data member to the programmer.
  • You can implement logic that triggers events or modifies other data during the access of a property. For example, changing the value of one property may require you to modify another. You can change the methods created for the property.
  • Properties can be virtual.
  • A property is not restricted to a single object. Changing one property on one object can affect several objects. For example, setting the Checked property on a radio button affects all of the radio buttons in the group.


Methods define the behavior of an object. A method is a procedure or function that is associated with a class. A method can access any member, with any visibility, in the same class. See also Controlling Access and Member Access Control.

The methods declared in a class can be classified in 3 categories, presented in the following table.

Category Delphi syntax C++ syntax Significance of Self (Delphi) or this (C++) See also
regular N/A N/A Class instance Ordinary Class Methods (section)
static static static N/A Class Static Methods (section)
class class __classmethod Meta-class instance Class Methods


An event is an action or occurrence detected by a program. Most modern applications are said to be event-driven, because they are designed to respond to events. In a program, the programmer has no way of predicting the exact sequence of actions a user will perform. For example, the user may choose a menu item, click a button, or mark some text. You can write code to handle the events in which you are interested, rather than writing code that always executes in the same restricted order.

Regardless of how an event is triggered, VCL objects look to see if you have written any code to handle that event. If you have, that code is executed; otherwise, the default event handling behavior takes place.

Note: Do not add initialization code to the OnCreate or OnDestroy event, but rather to the constructor and destructor of the object.

See Also