The .NET event model functions as a call-back model, where the call-back is a method whose signature is defined by a specified .NET delegate. In ABL, the call-back for a .NET event can be an ABL method or an internal procedure whose signature is compatible with the signature defined for the .NET event. Like .NET, ABL uses the associated .NET delegate to validate any method or internal procedure subscribed as a handler for the event. However, ABL provides its own mechanism to subscribe the ABL routine as an event handler. The primary requirement for an ABL event handler is that the signature of the method or internal procedure must match the signature specified by the .NET delegate defined for the event. (For OpenEdge .NET events, the handler signature is included in the documentation for each event—see
Defining handlers for .NET events in ABL.) The main difference between using methods and internal procedures as handlers for .NET events is that ABL verifies method event handler subscriptions at compile time (using strong typing), but verifies internal procedure event handler subscriptions only at run time.
In general, you can handle .NET events in ABL similar to how you handle ABL class events.
You can also do more to manage .NET events from ABL-extended .NET classes. For more information, see
Managing .NET events from ABL-extended .NET classes.