Macro: RUNPROGRAM

Module location: FMAC line 3096 (view source)

    // 14.0 SHELL option does a ShellExecute. Can be:
    // SHELL must be the first parameter
    #IFSAME !1 SHELL
        Runprogram$Shell !2 !3 !4
    #ELSE
      #IFSAME !1 WAIT BACKGROUND
        #IF !0>3
          #ERROR DFERR_COMP_INVALID_ARGUMENT TOO MANY ARGUMENTS TO RUNPROGRAM !1
        #ELSE
            #IFSAME !1 WAIT
                !A [] $2CC !2 !3
              #ELSE // BACKGROUND
                !A [] $2CD !2 !3
              #ENDIF
        #ENDIF
      #ELSE
          // Number of args is checked by type checking of command for PIPE.
        #IFSAME !1 PIPE
            #IF !0<4
                RUNPROGRAM_PIPE !2 "" !3 !4 !5 !6 !7 !8 !9
            #ELSE
                RUNPROGRAM_PIPE !2 !3 !4 !5 !6 !7 !8 !9
            #ENDIF
        #ELSE // Plain RUNPROGRAM.
            #IF !0>2
                #ERROR DFERR_COMP_INVALID_ARGUMENT TOO MANY ARGUMENTS TO RUNPROGRAM
            #ELSE
                  !A [] $2C0 !1 !2
            #ENDIF
        #ENDIF
      #ENDIF
    #ENDIF