Saltar al contenido principal
Versión: 21 BETA

Call chain

Call chain : Collection

ParámetrosTipoDescripción
ResultadoCollectionCollection of objects describing the call chain within a process
Historia
LanzamientoModificaciones
20 R9Soporte de la propiedad formula

Descripción

The Call chain command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado.

The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades:

PropiedadTipoDescriptionEjemplo
databaseTextName of the database calling the method (to distinguish host methods and component methods)"database":"contactInfo"
formulaText (si lo hay)Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad line en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad formula se omite (Undefined)."var $stack:=Call chain"
líneaIntegerNúmero de línea de llamada al método"line":6
nameTextNombre del método llamado"name":"On Load"
typeTextType of the method:
  • "projectMethod"
  • "formObjectMethod"
  • "formmethod"
  • "databaseMethod"
  • "triggerMethod"
  • "executeOnServer" (when calling a project method with the Execute on Server attribute)
  • "executeFormula" (when executing a formula via PROCESS 4D TAGS or the evaluation of a formula in a 4D Write Pro document)
  • "classFunction"
  • "formMethod"
  • "type":"formMethod"
    nota

    Para que este comando pueda operar en modo compilado, la verificación de rango no debe estar deshabilitada.

    Ejemplo

    El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos:

    var $currentCallChain : Collection
    $currentCallChain:=Call chain

    Si se ejecuta un método proyecto, la cadena de llamadas podría contener (por ejemplo):

    [
    {
    "type":"projectMethod",
    "name":"detailForm",
    "line":1,
    "database":"myDatabase"
    }
    ]

    Si un método objeto de formulario se ejecuta, la cadena de llamadas podría contener (por ejemplo):

    [
    {
    "type":"formObjectMethod",
    "name":"detailForm.Button",
    "line":1,
    "database":"myDatabase"
    },
    {
    "type":"formMethod",
    "name":"detailForm",
    "line":2,
    "database":"myDatabase"
    },
    {
    "type":"projectMethod",
    "name":"showDetailForm",
    "line":2,
    "database":"myDatabase"
    }
    ]

    Propiedades

    Número de comando1662
    Hilo seguro