>Apparently it only works if you have previously used the WriteExpression() method on the object and the specific property. Doesn't work with default values or with values entered at design-time or programmatically at runtime directly to the property. This contradicts the documentation which states that it returns the value entered in the properties window. But maybe I am missing something here.
>
>I suppose if you want to retrieve the property's value and display it you can always use Transform(object.Property) :)
For his purposes, the GetPem() function works regardless of where and how the property was defined - in the help it says about ReadExpression "Returns the expression entered for a property value in the Properties window. Available at design time and run time." From what I tried, it doesn't even return form.caption if it wasn't changed in the PEM window, so its usability is very limited. I'd rather go with a combination of PEMStatus() and GetPem()... unless there is a way to avoid the whole thing completely.
From what I have understood, Hilmar is trying to insert a column in the grid. He can insert it at the end, and set its .ColumnOrder to 1. Here's from Help:
"If a Grid contains five columns and you want the third column displayed last, set the ColumnOrder property of the third column to 5. The ColumnOrder setting for the fourth column becomes 3, the ColumnOrder setting for the fifth column becomes 4, and so on.
Note ColumnOrder settings do not have to be sequential. There can be gaps. For example, if a Grid contains three columns, you can add a fourth and set its ColumnOrder property to 10."