I just wanted to share a nice debugging tool in Infragistics (see screenshot).
I discovered it a couple of days ago and I just can't stop using it.
Here's how to call it:
DEFINE VARIABLE ObjectToDisplay AS CLASS System.Object NO-UNDO.ObjectToDisplay = <expression that returns your object>.WAIT-FOR (NEW Infragistics.Shared.UltraPropertyPageDialog(ObjectToDisplay)):ShowDialog().
Note: at least in 10.2B06, putting an expression as a parameter of UltraPropertyPageDialog in the WAIT-FOR rather than a simple object reference would give an error at run-time, that's why I use an intermediate object.
It allows to see the properties (name and value) of the most derived type of the passed object and of its sub-objects.
It even allows you to drill down many sub-object properties. You can also change values.
E.g. screenshot show an object of type Infragistics.Win.UltraWinEditors.EditorButtonEventArgs
It's "Button" property is of type "Infragistics.Win.UltraWinEditors.EditorButtonBase" in the documentation, but the tool shows that the instance during execution is a derived instance of type "StateEditorButton".
Similarly, the "Context" property is of type "System.Object" but the tool shows that the instance during execution is a derived instance of type "UltraGridCell".
The object passed as a parameter doesn't have to be an Infragistics object.