|
|
|
|
ExecuteMainThread (Función) Desencadena la ejecución de un procedimiento en el hilo principal de la aplicación. // Interact with the user AnAnswer is string AnAnswer = ExecuteMainThread(UserInteractionProcedure, "Message")
Sintaxis
<Result> = ExecuteMainThread(<WLanguage procedure> [, <Parameter 1> [... [, <Parameter N>]]])
<Result>: Cadena de caracteres Valor de retorno del procedimiento al que se llamó. Este valor es idéntico al valor obtenido si el procedimiento se ejecuta directamente. <WLanguage procedure>: Nombre de procedimiento Nombre del procedimiento a ejecutar. <Parameter 1>: Opcional Parámetros que se pasarán al procedimiento. Atención: estos parámetros se pasan por valor (no por referencia). <Parameter N>: Opcional Parámetros que se pasarán al procedimiento. Atención: estos parámetros se pasan por valor (no por referencia). Observaciones Modo de funcionamiento El subproceso principal ejecuta el procedimiento cuando espera las acciones del usuario. Por lo tanto, cuando el subproceso principal de una aplicación debe ejecutar procedimientos llamados por la función ExecuteMainThread, se deben cumplir las siguientes reglas: - el subproceso principal debe ser de alta disponibilidad: las secciones críticas deben ser cortas y localizadas, no debe haber procesos largos si un subproceso secundario necesita llamar a la función ExecuteMainThread, no debe haber semáforos ni eventos que esperen objetos de sincronización.
- para evitar interbloqueos, los subprocesos no deben retener objetos de sincronización (secciones críticas, semáforos, eventos, etc.) cuando se llama a la función ExecuteMainThread.
Si el subproceso principal está ejecutando un proceso, éste no se interrumpe y el procedimiento se ejecuta cuando el subproceso principal vuelve a esperar una acción del usuario. Sin embargo, se puede utilizar la función Multitask para interrumpir un proceso largo, procesar las acciones del usuario y ejecutar los procedimientos llamados por la función ExecuteMainThread. La función ExecuteMainThread es bloqueante mientras el subproceso principal no haya ejecutado el procedimiento. Atención: - La función ExecuteMainThread no permite llamar a un procedimiento desde un contexto de ejecución "padre". Por ejemplo, no se puede llamar un procedimiento del proyecto desde un componente externo.
- Los detalles de los errores y las excepciones del procedimiento ejecutado se recuperan en el subproceso de llamada en el que se llama a la función ExecuteMainThread.
Clasificación Lógica de negocio / UI: Código neutro
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|