|
|
|
|
|
- Declaración
- Propiedades específicas de las variables de tipo Thread
- Funciones WLanguage que manipulan variables de tipo Thread
Thread (Tipo de variable)
El tipo Thread permite definir todas las características de un subproceso. Las características del subproceso se pueden definir y cambiar utilizando diferentes propiedades WLanguage. Nota: Para obtener más información sobre la declaración de este tipo de variable y el uso de propiedades WLanguage, consulte Declarar una variable. Novedad versión 2025
t is Thread
t = ThreadExecute(Proc, ("First parameter", 2))
t is Thread(Proc, ("First parameter", 2))
ThreadExecute(t)
En este caso, no se ha descrito el subproceso. Se debe asignar a la variable el valor de un subproceso existente o el resultado de una de las funciones de ejecución de subprocesos.
Declarar un subproceso con el tipo Thread Ocultar los detalles
MyVariable is Thread (<Procedure> [, <Parameters> [, <Options>]])
<Procedure>: Cadena de caracteres o variable de tipo Procedure Procedimiento a ejecutar. Este parámetro puede corresponder a: - el nombre del procedimiento a ejecutar.
- el nombre de la variable de tipo Procedimiento que corresponde al procedimiento a ejecutar.
<Parameters>: Lista de valores entre paréntesis, separados por comas Parámetros del procedimiento a ejecutar. La lista de parámetros tiene el siguiente formato: (<Parameter 1>, ..., <Parameter N>) donde: - <Parameter 1>: Primer parámetro del procedimiento.
- ...
- <Parameter N>: Enésimo parámetro del procedimiento.
<Options>: Constante opcional de tipo Integer Modo de inicio del subproceso. | | threadFullCopyHFSQLContext (Valor predeterminado) | Desencadena la copia inmediata del contexto HFSQL actual. Se recomienda si el subproceso debe tener en cuenta las posiciones actuales en los archivos y consultas del contexto llamador. | threadGlobalContext | Fuerza el uso del contexto global del proyecto si el subproceso se ejecuta desde una ventana. El subproceso continuará ejecutándose hasta que se cierre la aplicación. De forma predeterminada, se utiliza el contexto de la ventana, el subproceso se detiene al cerrarla. | threadLightCopyHFSQLContext | Desencadena la copia inmediata de una parte del contexto HFSQL actual. Se almacenan los siguientes elementos: - los directorios en los que se encuentran los archivos de datos HFSQL Classic.
- Conexiones cliente/servidor HFSQL.
| threadWaitForStart | Espera a que el subproceso inicie realmente antes de continuar con la ejecución. |
En este caso: - el hilo está descrito y su descripción ya no puede modificarse.
El subproceso no se ejecuta automáticamente, una declaración por sí sola no hará que se ejecute el subproceso. Se debe llamar a una de las funciones de ejecución de subprocesos para iniciar la ejecución del subproceso. - la seguridad de los hilos se implementa automáticamente. En este modo:
- se producirá un error de compilación si se accede a los controles en el subproceso.
- se lanzará una excepción:
- si el hilo accede a los controles en tiempo de ejecución,
- si se llama a la función ThreadStop.
- cuando se cierra la ventana que desencadenó el hilo, se genera una solicitud para detener el hilo (pero el hilo sigue ejecutándose después de cerrar la ventana).
Propiedades Propiedades específicas de las variables de tipo Thread Las siguientes propiedades se pueden utilizar para manejar Hilo variables: | | | Nombre de la propiedad | Tipo utilizado | Efecto |
---|
Estado | Constante de tipo Integer | Estado del hilo:- ThreadStopRequested: Se ha solicitado la parada del hilo.
- threadRunning: El hilo está en ejecución.
- hiloNoEjecutado: El hilo no se ha ejecutado.
- ThreadSuspendido: El hilo ha sido suspendido.
- ThreadEnd: El hilo existe pero ha terminado.
Esta propiedad es de solo lectura. | Novedad versión 2025Extra | Variant | Permite almacenar información avanzada sin afectar la ejecución de la aplicación. Puede almacenar valores de cualquier tipo (array, etc.). También es posible agregar miembros a la propiedad Extra. Ejemplo:
MyVariable.Extra.Info1 = Value MyVariable.Extra[Info2] = Value2 MyVariable.Extra.Date = DateSys() | Nombre | Cadena de caracteres | Nombre del subproceso. Esta propiedad es de solo lectura. | Prioridad | Constante de tipo Integer | Prioridad del hilo actual:- PrioridadAlta: Prioridad alta.
- PrioridadNormal: Prioridad normal.
- PrioridadBaja: Prioridad baja.
| ReturnedValue | Valor devuelto por el hilo. | Atención: - Si el hilo sigue en ejecución, el ReturnedValue bloquea la ejecución hasta que el subproceso termine.
- Si el hilo termina sin un error fatal, la propiedad devuelve el valor de retorno o los valores de la función principal del hilo.
Esta propiedad es de solo lectura. Recordatorio: - La propiedad State permite conocer el estado del subproceso.
- Es posible esperar el final de un hilo con ThreadWait.
Novedad versión 2025 | StopRequested | booleano | - True si se solicitó detener el subproceso,
- False en caso contrario.
Esta propiedad es de solo lectura. |
Observaciones Funciones WLanguage que manipulan variables de tipo Thread | | ThreadExecute | Starts the execution of a secondary thread. | ThreadRequestStop | Envía una solicitud para detener un subproceso. | ThreadSendSignal | The current thread sends a signal to the specified thread in order to unlock it. | ThreadWait | Espera a que finalice la ejecución del subproceso especificado. |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|