Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
CALL WORKER
|
CALL WORKER ( proceso ; metodo {; param}{; param2 ; ... ; paramN} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
proceso | Texto, Entero largo |
![]() |
Nombre o número del proceso worker | |||||
metodo | Objeto, Texto |
![]() |
Nombre del método proyecto a llamar | |||||
param | Expresión |
![]() |
Parámetros pasados al método | |||||
El comando CALL WORKER crea o llama al proceso worker cuyo nombre o ID se pasa en proceso y pide la ejecución del código designado por formula en su contexto con el parámetro opcional param.
El comando CALL WORKER encapsula los parámetros param en un mensaje y lo envía en el buzón de mensajes del worker. Para obtener más información sobre los procesos worker, por favor consulte la sección Sobre workers.
En el parámetro proceso, puede especificar el worker utilizando su nombre o su número de proceso:
Nota: el proceso principal, creado por 4D para la interfaz de usuario y el modo de aplicación cuando se abre una base, es un proceso worker y puede ser llamado por CALL WORKER.Sin embargo, ya que su nombre puede variar en función del lenguaje de 4D, es preferible designar este proceso utilizando su número (siempre 1) cuando se utiliza CALL WORKER.
El proceso worker aparece en la lista de procesos del Explorador de ejecución y es devuelto por el comando _o_PROCESS PROPERTIES cuando se aplica a este proceso.
En formula, designe el código 4D que se ejecutará en el contexto del proceso padre de ventana. Puede pasar:
También puede pasar parámetros a la fórmula utilizando uno o más parámetros param. Puede utilizar parámetros secuenciales o, si la expresión de la fórmula es una función o un método de proyecto, parámetros nombrados. Al iniciar la ejecución en el contexto del formulario, la fórmula proceso recibe los valores parámetro en $1, $2, etc. Recuerde que los arrays no pueden ser pasados como parámetros a un método. Además, en el contexto del comando CALL WORKER, las siguientes consideraciones adicionales deben tenerse en cuenta:
Un proceso worker se mantiene vivo hasta que la aplicación esté cerrada o el comando KILL WORKER se llame explícitamente. Para liberar memoria, no olvide llamar a este comando una vez un proceso worker ya no sea necesario.
En un formulario, un botón inicia un cálculo, por ejemplo las estadísticas con respecto al año seleccionado. El botón crea o llama a un proceso de worker que va a calcular los datos mientras el usuario puede continuar trabajando en el formulario.
El método del botón es:
//llamar al worker myWorker con el parámetro
var $vYear: Integer
$vYear:=2015 // podría haber sido seleccionado por el usuario en el formulario
CALL WORKER("myWorker";Formula(workerMethod);$vYear;Current form window)
El código de workerMethod es:
// este es el método del worker
// puede ser apropiativo o cooperativo
#DECLARE($vYearInteger;$windowInteger) //referencia de la ventana y año
var $vStatResults : Object //para almacenar los resultados estadísticos
... //calcular estadísticas
//una vez terminado, vuelve a llamar el formulario con los valores calculados
//$vStatResults podría mostrar los resultados en el formulario
CALL FORM($window;Formula(displayStats);$vStatResults)
Producto: 4D
Tema: Procesos (Comunicación)
Número
1389
Creado por: 4D v15 R5
Modificado: 4D v16 R4
Modificado: 4D v19 R6
Manual de lenguaje 4D ( 4D v20 R7)