Events are application notifications that occur as the result of run-time conditions. The ABL Virtual Machine (AVM) notifies your application of an event by executing ABL code that you define in a trigger or event handler, depending on the kind of event. ABL supports a number of built-in events that automatically result from various ABL, user, or other actions that affect an application.
You can also define your own events to notify your application of any useful condition. When you detect the occurrence of a given condition, you can notify your application of the event through an object associated with the event, which in turn executes a routine (event handler) that you have defined to respond to the event.
There are a number of factors that determine how ABL notifies your application of an event, the most important being the kind of object associated with the event. In ABL, events can be associated with the following types of objects:
This section describes events that are associated with class-based objects (class events), including both ABL and .NET objects, and how your application can respond to them. The section also contains reference entries for built-in methods (event methods) that ABL provides to manage class events and reference entries for class events that ABL supports on built-in classes defined by OpenEdge. For more information on events associated with handle-based objects, see the Handle-based Object Events Reference.
The following descriptions refer to both compile-time and run-time behavior, which include features that the language supports and verifies at compile time and actions that result from using these features at run time. This section refers to ABL or the ABL compiler when describing compile-time features and refers to the AVM when describing run-time actions.