>FUNCTION CopyProp >LPARA o1, o2 > >* Copy all property values from one object to another >IF TYPE('o1.Name') <> "C" OR TYPE('o2.Name') <> "C" > RETURN .F. >ENDIF > >lnPropertyCount = AMEMBERS(aProps, o1) > >FOR i = 1 TO lnPropertyCount > IF !ALLTRIM(UPPER(aProps(i)))$"CLASS:PARENTCLASS:BASECLASS:NAME" > uVal = GETPEM(o1,aProps(i)) && Value of property in source > IF PEMSTATUS(o2,aProps(i),5) && Does property exist in the second object? > IF !PEMSTATUS(o2,aProps(i),1) && Is the property readonly? > IF !PEMSTATUS(o2,aProps(i),2) && Is the property protected? > o2.WriteExpression(aProps(i), uVal) > ENDIF > ENDIF > ENDIF > ENDIF >ENDFOR >Thanks for the code sample Eric,