Macro: GET$SET$HELP

Module location: FMAC line 10961 (view source)

  #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