PROCEDURE myobject_assign LPARAMETERS myObject IF m.THIS.myObject = m.myObject RETURN && Here's the problem ENDIF * here exists code that i want skip if m.THIS.myObject=m.myObject ENDPROCYou may be doing this simply because
m.This.myObject <> m.myObject
Doesn't work. It doesn't work because initially This.myObject is NULL. Any comparison where one value is null never results in a .T. or .F. value, it only results as null. Due to this you must take null into account in your code. The problem completely goes away by taking this into accountPROCEDURE myobject_assign LPARAMETERS myObject IF ISNULL(This.myobject) OR m.THIS.myObject <> m.myObject THIS.myObject = m.myObject ENDIF ENDPROC