PROCEDURE Copy_Changed_PEMs(toSource,toDest) IF VARTYPE(toSource)<>'O' ; OR VARTYPE(toDest)<>'O' RETURN ENDIF LOCAL laSource(1), lnRow, lcMember, lcPEM, lcExpression = AMEMBERS(laSource,toSource,1,'C+#') FOR lnRow = 1 TO ALEN(laSource,1) lcMember = laSource(lnRow,1) lcPEM = laSource(lnRow,2) DO CASE CASE lcPEM = 'Property' IF lcMember <> 'NAME' lcExpression = toSource.READEXPRESSION(lcMember) IF !EMPTY(lcExpression) toDest.WRITEEXPRESSION(lcMember,lcExpression) ELSE toDest.&lcMember = toSource.&lcMember ENDIF ENDIF CASE lcPEM = 'Method' ; OR lcPEM = 'Event' toDest.WRITEMETHOD(lcMember,toSource.READMETHOD(lcMember)) ENDCASE ENDFOR