[Overview][Constants][Types][Classes][Procedures and functions][Variables] | Reference for unit 'Classes' (#fcl)

# TBasicActionLink

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Link between actions and action clients (e.g. controls)

## Declaration

`type TBasicActionLink = class(TObject)`
`protected`
`FAction: TBasicAction;` |  | The action with which this link is associated
`procedure AssignClient(); virtual;` |  | Assigns a control (client) to the action link.
`procedure Change; virtual;` |  | Executed whenever the Action is changed.
`function IsOnExecuteLinked; virtual;` |  | Returns whether the client has it's OnExecute property linked.
`procedure SetAction(); virtual;` |  | Sets the action with which the actionlink is associated.
`procedure SetOnExecute(); virtual;` |  | Assigns the OnExecute handler to the client
`public`
`constructor Create(); virtual;` |  | Creates a new instance of the TBasicActionLink class
`destructor Destroy; override;` |  | Destroys the TBasicActionLink instance.
`function Execute(); virtual;` |  | Calls the action's Execute method.
`function Update; virtual;` |  | Calls the action's Update method
`property Action: TBasicAction; [rw]` |  | The action to which the link was assigned.
`property OnChange: TNotifyEvent; [rw]` |  | Event handler triggered when the action's properties change
`end;`

## Inheritance

`TBasicActionLink` |  | Link between actions and action clients (e.g. controls)
`TObject`

## Description

TBasicActionLink links an Action to its clients. With each client for an action, a TBasicActionLink class is instantiated to handle the communication between the action and the client. It passes events between the action and its clients, and thus presents the action with a uniform interface to the clients.

An application programmer should never use a TBasicActionLink instance directly; They are created automatically when an action is associated with a component. Component programmers should create specialized descendents of TBasicActionLink which communicate changes in the action to the component.

## See also

TBasicAction |  | Abstract base class for all Actions.