OpenEdge® supports the ability to access Microsoft .NET objects from ABL much as if they were native ABL classes. ABL access to .NET objects is designed to support the OpenEdge GUI for .NET, which provides an alternative Windows desktop user interface for ABL applications, based on .NET forms and controls. ABL allows your application to use the GUI for .NET together with the OpenEdge GUI, and provides specific support for using .NET forms and ABL windows together in the same ABL session.
For today's modern applications, OpenEdge makes available an in-the-box .NET control set, OpenEdge Ultra Controls for .NET (Ultra Controls), that provide a feature-rich GUI. Ultra Controls includes a number of full-featured .NET controls from Infragistics NetAdvantage. GUI applications can be built using either the Progress Developer Studio for OpenEdge Visual Designer, the OpenEdge ABL text editor, or, at the minimum, any text editor.
ABL supports .NET objects and Ultra Controls entirely within the ABL context by incorporating the .NET class hierarchy as a subset of the ABL class hierarchy. ABL can interact with .NET objects using enhanced ABL features without, itself, becoming a native .NET language. This allows you to continue to use ABL exactly as you have in previous OpenEdge releases that do not provide access to .NET objects.
Much has already been written about working with .NET forms and objects in ABL from a bottom-up, how-to perspective. This manual, however, takes an alternate view, providing a top-down, conceptual look at why one builds a GUI for .NET application using one approach or another, and includes the pros and cons of each approach.
This documentation does not replace and, in fact, depends upon both Microsoft and third-party vendor documentation for understanding the .NET classes that vendors provide.
In addition to this manual, which provides a guide to choosing among different options for creating a new GUI for .NET application, as well as transforming an existing OpenEdge application to use the GUI for .NET, you can find additional information on this feature in the following manuals:
OpenEdge Development: ABL Reference — The complete reference to the ABL, including all language elements that support the GUI for .NET.
OpenEdge Development: GUI for .NET Programming — A guide that describes how to access .NET objects using ABL to implement the OpenEdge GUI for .NET in your OpenEdge applications.
OpenEdge Development: GUI for .NET Mapping Reference — A short reference to ABL elements and features of the GUI for .NET, both as they map to the terminology and C# language syntax of the Microsoft .NET Framework, and as they map to ABL elements and features of the traditional OpenEdge GUI.
OpenEdge Deployment: Managing ABL Applications — A guide to managing and deploying ABL applications, with sections on requirements and features for deploying GUI for .NET applications.