Try OpenEdge Now
skip to main content
GUI for .NET Programming
Overview : Object model and architecture : Incorporation of the .NET object model : .NET objects on the session object chain
 
.NET objects on the session object chain
The following figure shows how the session object chain, which is anchored to the SESSION system handle using the FIRST-OBJECT and LAST-OBJECT attributes, works for .NET objects. You can walk the session object chain for both ABL and .NET objects using the NEXT-SIBLING and PREV-SIBLING properties of Progress.Lang.Object.
Figure 1. .NET objects on the ABL session object chain
Although .NET class instances appear on the ABL session object chain, the actual working instance of each object that ABL references is created in the .NET CLR. (For more information on how this works, see GUI for .NET run-time architecture.) In addition, because all .NET classes are subclasses of Progres.Lang.Object, for any .NET class that has a member with the same name as a corresponding member defined by Progres.Lang.Object, the .NET version overrides the Progres.Lang.Object version. For example, the ToString( ) method on the .NET System.Object always overrides the ToString( ) method on Progress.Lang.Object. Thus, .NET classes in an ABL session follow all the same overriding rules as ABL classes.