changes: Check that object name is not already a global/class function Add alternate access syntax @Name check that the name is not an internal function
#IFDEF UI.EXISTS
#ELSE
USE UI
#ENDIF
#IF ( (!Zl & 1)=0)
#IFSAME FN$!1 __F__
#ERROR 4330 !1 is an internal function name
#ENDIF
#ENDIF
// Check that object name is not already a global or class function.
#IFDEF GET_!1
#IF (GET_!1<$40000001)
#IF (GET_!1<0)
#ERROR 4332 !1 Already defined as a global function
#ELSE
#ERROR 4332 !1 Already defined as a function/Property
#ENDIF
#ENDIF
#ELSE
#REPLACE GET_!1 |CI!ZH
#FREG GET_!1 RETURNS INTEGER
// register additional object access methods
#IFDEF USE$NEAR$OBJECT
#REPLACE @!1 (Obj(Get_!1)) // for @ObjName syntax near/global/default
// These are here for test purposes right now.
//#REPLACE !1.SELF (!1(current_object)) // for ObjName.self syntax = obj(self)
//#REPLACE !1.NEAR (NearObj(Get_!1)) // for ObjName.Near syntax near
#ELSE
#REPLACE @!1 (!1(current_object))
#ENDIF
#ENDIF