Macro: GET$SET$HELP
#IF ( (!Zl & 1)=0)
#IFCLASS !2 "EFWV"
#ERROR DFERR_COMP_ILLEGAL_CODE_PLACEMENT Unusual Usage: Variable or Expression used as message
#ENDIF
#IF (!b = 2) // within class but not in object or method
#ERROR DFERR_COMP_ILLEGAL_CODE_PLACEMENT Messages in class should be in method
#ENDIF
#ENDIF
#IFSAME DFLT$!2 __X__ __F__ // is this a item type message?
#IFSAME !5 ITEM // is the item keyword used?
OBJECT$PROPERTIES !1 !2 !4 !6 !7 !8 !9 // pass it on
#ELSE
#IFSAME !5 TO // if no param passed create a default
#IFSAME DFLT$!2 __F__ // is this a form type message?
#IF (!Zl & 2)
// if a Form_ message, and no item was passed before the TO
// and there are two params after the two this is an old syntax.
#IF (!0>6)
// this one must be fixed!
#ERROR DFERR_COMP_OBSOLETE_UNSUPPORTED_FEATURE OBSOLETE SYNTAX: GET/SET FORM_XXX TO X Y
#REM #ERROR DFERR_COMP_OBSOLETE_UNSUPPORTED_FEATURE OBSOLETE SYNTAX: GET/SET FORM_XXX TO X Y
#ENDIF
#ENDIF
OBJECT$PROPERTIES !1 !2 !4 0 !5 !6 !7 !8 !9 // use 0 as dflt
#ELSE
#IF (!Zl & 2)
// if a item_ message, and no item was passed before the TO
// it used to replace with current which is now changed to
// 0. Warn that this might cause a problem in old programs.
#REM #ERROR DFERR_COMP_OBSOLETE_UNSUPPORTED_FEATURE Old Style Usage: No ITEM keyword. Is replacement for .current. or 0
#ENDIF
//OBJECT$PROPERTIES !1 !2 !4 0 !5 !6 !7 !8 !9 // use 0 as dflt
OBJECT$PROPERTIES !1 !2 !4 -99 !5 !6 !7 !8 !9 // use CURRENT as dflt
#ENDIF
#ELSE // params are passed. Just Use them
OBJECT$PROPERTIES !1 !2 !4 !5 !6 !7 !8 !9 // pass it on
//#REM ITEM KEYWORD OMITTED. USE !5
#ENDIF
#ENDIF
#ELSE // not Item or Form based
OBJECT$PROPERTIES !1 !2 !4 !5 !6 !7 !8 !9 // just supply args
#ENDIF