>What do you mean "Does not work"? I cannot even test this in version 6 because I no longer have it on any of my machines. The code I posted works just fine in version 8. But the line of code that you have in your code sample below does not match what I posted. If the syntax of the AMEMBERS() function has been enhanced since version 6, you will have to consult the on-line help to see what the usage is in the old version.
AMEMBERS(ArrayName, ObjectName | cClassName [, 1 | 2])
1 or 2 meaning
1
Specifies that the array contains the properties of the object as well as the methods and member objects. The resulting array is two-dimensional with the second column specifying what type of member is listed in the first column. The possible values for the second column are Property, Event, Method, or Object.
2
Specifies that the array contains the names of the objects that are members of the object specified with ObjectName. The resulting array is one-dimensional.
I guess I will have to use PEMSTATUS()
>In VFP 8, results in a an array of changed properties only (and therefore, cannot contain any properties that are ReadOnly)
Guess that is not possible with V6
>As I said before, you need to consult the on-line help for this function in version 6. You may need to use the PEMSTATUS() function to determine if the property in your array is Changed:
>
>
>IF PEMSTATUS( loOBj, laProps[ lnCnt ], 0 )
> *** Property has been changed
>
Thanks
>
Thirdly, the custom class idea is defeated (this simple header class just had fontbold = .T.) as the properties are restored later the fontbold = .T. changes back to .F.>
>I do not know what you mean by this.
Just that all the properties are in the array due to V6, the newer property values in the class are overwritten
Thanks for responding