4D v18

Get call chain

Inicio

 
4D v18
Get call chain

Get call chain 


 

Get call chain -> Resultado 
Parámetro Tipo   Descripción
Resultado  Collection in Colección de objetos que describen la cadena de llamadas a métodos dentro de un proceso

El comando Get call chain devuelve una colección de objetos que describen cada paso de la cadena de llamadas al método dentro del proceso actual. Ofrece la misma información que el Panel del canal de llamada en la ventana del Depurador. Tiene la ventaja adicional de poder ejecutarse desde cualquier entorno 4D, incluido el modo compilado.

El comando facilita la depuración al permitir la identificación del método llamado, el componente que lo llamó y el número de línea donde se realizó la llamada. Cada objeto en la colección devuelta contiene las siguientes propiedades:

PropiedadTipoDescripciónEjemplo
databasetextoNombre de la base que llama al método (para distinguir métodos locales y métodos componentes)"database":"contactInfo"
lineentero largoNúmero de línea de la llamada al método"line":6
nametextoNombre del método llamado"name":"On Load"
typetextoTipo de método:
  • "projectMethod",
  • "formObjectMethod",
  • "databaseMethod",
  • "triggerMethod",
  • "executeOnServer" (cuando se llama a un método proyecto con Atributo Ejecutar en servidor.),
  • "executeFormula" (cuando se ejecuta una fórmula a través de PROCESS 4D TAGS o la evaluación de una fórmula en un documento 4D Write Pro.)
"type":"formMethod"

Nota: para que este comando pueda operar en modo compilado, la verificación de Rango no debe estar deshabilitada. Ver Control de ejecución.

Ejemplo  

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

 C_COLLECTION($currentCallChain)
 $currentCallChain:=Get 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 se ejecuta un método de objeto de formulario, 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”
   }
]



Ver también 

Panel del canal de llamada

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje
Número 1662

This command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v17 R6

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v18)