Deallocates an object
If you call Destroy for an object witch hasn´t being initialized yet it will generate an error. Always use the Free method to deallocate objects, because it verifies if object variable doesn´t contain the value nil.

Take the following precautions when creating your own Destroy method:

* Declare Destroy with the override directive, because it is a virtual method.

* Always call 'inherited Destroy;' as the last thing on the destructor code.

* An exception may be raised on the constructor in case there is not enought memory to create an object, or something else goes wrong. If the exception is not handled inside the constructor, the object will be only partially built. In this case Destroy will be called, so your destructor must check if the resources were really allocated before disposing of them.

* Remember to call Free for all objects created on the constructor.
A generic class for all action list components

TCustomActionList is a generic class for all components that represent action lists. TCustomActionList is the ancestor for TActionList. If you want to define your own action list class, you should use this class to derive it from.

TActionList, TAction, TActionLink and TContainedAction are used to centralize the implementation of user commands, and can then be linked to the apropriete button, menu or another component. This an Object-Oriented programming strategy to reuse the code, as oposed to the Event-Oriented approach of writing an OnClick event for each component.

Creates a new instance of the TCustomActionList class
If you drop a component on the form editor you don´t need to add code to explicitly create it. The component is automatically created together with the the form, and destroyed when the form is destroyed.

However, if you create the component by code don´t forget to free it when it is no longer needed.

Constructors allocate memory and system resources needed by the object. They also call the constructor of any sub-objects present in the class.
Deallocates an object
If you call Destroy for an object witch hasn´t being initialized yet it will generate an error. Always use the Free method to deallocate objects, because it verifies if object variable doesn´t contain the value nil.

Take the following precautions when creating your own Destroy method:

* Declare Destroy with the override directive, because it is a virtual method.

* Always call 'inherited Destroy;' as the last thing on the destructor code.

* An exception may be raised on the constructor in case there is not enought memory to create an object, or something else goes wrong. If the exception is not handled inside the constructor, the object will be only partially built. In this case Destroy will be called, so your destructor must check if the resources were really allocated before disposing of them.

* Remember to call Free for all objects created on the constructor.
The basic actions list class
TActionList is the last component on the "Standard" component pallete on the Lazarus IDE.

To add, remove or modify actions on the list by right-click an ActionList on the form editor and then choose "Edit action list...". This will open the "Action List Editor". You can now use the "+" and "-" buttons to add and remove actions. To edit an action, click it and then open the object inspector. To add code to be executed when an action is triggered, double-click the action´s name on the "Action List Editor".
A generic class for all Action components
TCustomAction is a generic class for all components that represent actions that can be be set on the user interface for buttons and other controls. TCustomAction is the ancestor for TAction. If you want to define your own action class, you should use this class to derive it from.

TActionList, TAction, TActionLink and TContainedAction are used to centralize the implementation of user commands, and can then be linked to the appropriate button, menu or another component. This is an Object-Oriented programming strategy to reuse code, as opposed to the Event-Oriented approach of writing an OnClick event for each component.

You can assign a action to a component by using the Object Inspector.
Creates a new instance of the TCustomAction class
If you drop a component on the form editor you don´t need to add code to explicitly create it. The component is automatically created together with the the form, and destroyed when the form is destroyed.

However, if you create the component by code don´t forget to free it when it is no longer needed.

Constructors allocate memory and system resources needed by the object. They also call the constructor of any sub-objects present in the class.
Deallocates an object
If you call Destroy for an object witch hasn´t being initialized yet it will generate an error. Always use the Free method to deallocate objects, because it verifies if object variable doesn´t contain the value nil.

Take the following precautions when creating your own Destroy method:

* Declare Destroy with the override directive, because it is a virtual method.

* Always call 'inherited Destroy;' as the last thing on the destructor code.

* An exception may be raised on the constructor in case there is not enought memory to create an object, or something else goes wrong. If the exception is not handled inside the constructor, the object will be only partially built. In this case Destroy will be called, so your destructor must check if the resources were really allocated before disposing of them.

* Remember to call Free for all objects created on the constructor.
The basic action class
TAction is the basic action object used on the LCL.

It redeclares many properties inherited from TCustomAction on the published section, but does not add any new features. For more details look at the See Also section for TCustomAction.
Creates a new instance of the TAction class
If you drop a component on the form editor you don´t need to add code to explicitly create it. The component is automatically created together with the the form, and destroyed when the form is destroyed.

However, if you create the component by code don´t forget to free it when it is no longer needed.

Constructors allocate memory and system resources needed by the object. They also call the constructor of any sub-objects present in the class.