This OpenEdge® release supports the ability to build ABL applications that use Microsoft® .NET classes much like native ABL classes. Thus, from any ABL class or procedure, you can instantiate and access members of a .NET class in much the same way as you would the members of an ABL class. A key feature of ABL support for .NET objects is the OpenEdge GUI for .NET, which allows you to build graphical user interfaces (GUIs) using .NET forms and controls.
With .NET forms and controls, the OpenEdge GUI for .NET allows you to build richer and more flexible user interfaces than the traditional OpenEdge GUI. However, you can use as little or as much of the GUI for .NET as you choose, and you can freely mix .NET forms of the GUI for .NET and ABL windows of the traditional GUI in the same application. This means that you can add GUI for .NET features to an existing application without having to change or remove any of its traditional GUI features.
One of the benefits of the traditional OpenEdge GUI is the ease with which ABL statements can display and allow updates to ABL data using user-interface field and table-level widgets. The OpenEdge GUI for .NET allows you to bind ABL data to .NET controls using an OpenEdge extension of the .NET System.Windows.Forms.BindingSource class, Progress.Data.BindingSource (ProBindingSource). Using the ProBindingSource, you can support the display and update of ABL data in .NET controls with an ease that is comparable to using traditional ABL data display and update capabilities.