OpenEdge support for using the .NET Framework includes the following general capabilities:
You can access .NET objects from any ABL session running on Windows, whether it is a GUI or non-GUI session. However, each type of ABL session has certain limitations. For more information, see Limitations of support for .NET classes.
ABL supports some features of .NET objects that are not supported for ABL class-based objects. For more information, see Limitations of support for .NET classes.
ABL allows you to use .NET classes like ABL classes. Thus, you can instantiate .NET classes within a procedure, user-defined function, or method of an ABL class. For more information on instantiating .NET classes, see Instantiating and obtaining instances of .NET classes.
ABL allows you to create ABL classes that extend .NET classes (ABL-extended .NET classes) similar to extending ABL classes—by inheriting a .NET class or by implementing .NET interfaces in an ABL class definition. You can also define ABL interfaces that inherit the member prototypes from .NET interfaces. For more information on extending .NET classes, see DefiningABL-extended .NET objects.
ABL allows you to access .NET class members using ABL data types. ABL maps the ABL data types you specify to the appropriate .NET data types, depending on .NET requirements and how you access a given class member.
OpenEdge allows ABL to catch .NET exception objects and treat them as Progress.Lang.Error objects. For more information, see Handling.NET exceptions.
OpenEdge provides its own set of .NET classes and interfaces to facilitate ABL manipulation of .NET forms, and to allow .NET forms to work more naturally together with ABL windows. OpenEdge also provides a set of .NET controls with extended capabilities (OpenEdge Ultra Controls for .NET) that you can use with .NET forms and that Progress Developer Studio for OpenEdge supports as visual design components using Visual Designer. For more information, see OpenEdge .NET form and control objects.
OpenEdge provides its own set of .NET classes for binding ABL data to .NET controls. For more information, see BindingABL Data to .NET Controls.
ABL allows you to use both .NET forms and ABL windows in the same application, and to manage them in a common manner. ABL also allows you to embed the ABL frame or frames contained by an ABL window (including the field-level widgets they contain) within the client area of a .NET form. For more information, see Using.NET Forms with ABL Windows.