Try OpenEdge Now
skip to main content
GUI for .NET Programming
Accessing and Managing .NET Classes from ABL : Defining ABL-extended .NET objects : Deriving .NET classes in ABL
 

Deriving .NET classes in ABL

The minimum you need to do to derive a .NET class (like deriving any ABL class) is to inherit the class type in your ABL class definition:
CLASS Acme.Forms.CustomForm INHERITS Progress.Windows.Form:
  ...
END CLASS.
You can then use standard ABL class definition syntax to extend the .NET class with additional ABL data members, properties, methods, and events, including ABL methods that overload .NET methods. With the help of special ABL syntax (when necessary), you can also override .NET methods. As with inheriting from an ABL abstract class, if you inherit from a .NET abstract class, you can and must implement its abstract properties, methods, and events by overriding each abstract member if your inheriting ABL class is not also abstract.
You can also publish inherited .NET events, either by calling inherited .NET methods defined for this purpose or by invoking the ABL Publish( ) event method directly on inherited .NET abstract events that you implement in ABL. Finally, you can define ABL class events to delegate the handling of .NET events on privately contained .NET objects. This can be especially useful for encapsulating event management for .NET controls privately contained by an ABL-derived .NET user control. For more information, see Managing events for ABL-derived .NET classes.
* Accessing inherited members of a .NET base class
* Defining new ABL members in a class that inherits from a .NET class
* Overriding .NET methods
* Overriding .NET abstract properties
* Overriding .NET abstract events
* Getting type information (reflection)