Skip to main content
Version: 20 R5 BETA


VP SET ALLOWED METHODS ( methodObj : Object)

methodObjObject->Allowed methods in the 4D View Pro areas


For greater flexiblity, it is recommended to use the VP SET CUSTOM FUNCTIONS command which allows you to designate 4D formulas that can be called from 4D View Pro areas. As soon as VP SET CUSTOM FUNCTIONS is called, VP SET ALLOWED METHODS calls are ignored. 4D View Pro also supports 4D's generic SET ALLOWED METHODS command if neither VP SET CUSTOM FUNCTIONS nor VP SET ALLOWED METHODS are called, however using the generic command is not recommended.


The VP SET ALLOWED METHODS command designates the project methods that can be called in 4D View Pro formulas. This command applies to all 4D View Pro areas initialized after its call during the session. It can be called multiple times in the same session to initialize different configurations.

By default for security reasons, if you do not execute the VP SET ALLOWED METHODS command, no method call is allowed in 4D View Pro areas -- except if 4D's generic SET ALLOWED METHODS command was used (see compatibility note). Using an unauthorized method in a formula prints a #NAME? error in the 4D View Pro area.

In the methodObj parameter, pass an object in which each property is the name of a function to define in the 4D View Pro areas:

<functionName>ObjectCustom function definition. The <functionName> property name defines the name of the custom function to display in 4D View Pro formulas (no spaces allowed)
methodText(mandatory) Name of the existing 4D project method to allow
parametersCollection of objectsCollection of parameters (in the order they are defined in the method). For more information, please refer to the Parameters section.
[ ].nameTextName of a parameter to display for the <functionName>.Note: Parameter names must not contain space characters.
[ ].typeNumberType of the parameter. Supported types:
  • Is Boolean
  • Is collection
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • type can be omitted (except when at least one parameter is of collection type, in which case parameter's type declaration is mandatory).
    If type is omitted, by default the value is automatically sent with its type, except date or time values which are sent as an object. If type is Is object, the object is sent in a .value property. See Parameters section.
    summaryTextFunction description to display in 4D View Pro
    minParamsNumberMinimum number of parameters
    maxParamsNumberMaximum number of parameters. Passing a number higher than the length of parameters allows declaring "optional" parameters with default type


    You want to allow two methods in your 4D View Pro areas:

    $allowed:=New object //parameter for the command

    $allowed.Hello:=New object //create a first simple function named "Hello"
    $allowed.Hello.method:="My_Hello_Method" //sets the 4D method
    $allowed.Hello.summary:="Hello prints hello world"

    $allowed.Byebye:=New object //create a second function with parameters named "Byebye"
    $allowed.Byebye.parameters:=New collection
    $allowed.Byebye.parameters.push(New object("name";"Message";"type";Is text))
    $allowed.Byebye.parameters.push(New object("name";"Date";"type";Is date))
    $allowed.Byebye.parameters.push(New object("name";"Time";"type";Is time))
    $allowed.Byebye.summary:="Byebye prints a custom timestamp"


    After this code is executed, the defined functions can be used in 4D View Pro formulas:

    In 4D View Pro formulas, function names are automatically displayed in uppercase.

    See also

    4D functions