AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL Client/Server / Procedimiento WLanguage
  • Procedimiento WLanguage ejecutado en el subproceso principal
  • WLanguage procedure executed in a secondary thread
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Procedimiento WLanguage llamado por HWatch
Procedimiento WLanguage ("callback") llamado por HWatch cuando se realiza un cambio en el archivo de datos especificado.
Ejemplo
// Lance la surveillance du fichier de données Commande
// La procédure TraiteCommande est appelée pour tout ajout d'enregistrement dans le fichier de données
HWatch(Commande, TraiteCommande, hRecNumAll, hwAdd)

PROCEDURE TraiteCommande(NomFic, NumEnreg, Action)
IF BitwiseAND(nAction, hwAdd) = hwAdd THEN
	Trace("Un ajout a été effectué dans le fichier de données : " + NomFic)
END
Sintaxis
HWatch_Callback(<Modified data file> , <Record number> , <Action>)
<Modified data file>: Cadena de caracteres
Nombre del archivo de datos HFSQL modificado.
<Record number>: Integro
Número del Record modificado (equivalente al número devuelto por HRecNum).
<Action>: Constante de tipo Integer
Acción que desencadenó el procedimiento. Los valores posibles son:
hwAddProcedimiento iniciado una vez añadido un Record al archivo de datos.
hwBorrarProcedimiento iniciado una vez borrado un Record del archivo de datos.
hwCrossProcedimiento iniciado una vez que se cruza un Record en el archivo de datos.
hwModificarProcedimiento iniciado cuando se modifica un Record en el archivo de datos.

Precaución: Si un Proceso añade un Record y modifica este Record inmediatamente después, HWatch es llamado una vez con una combinación de los comandos hwAdd y hwModify constantes.
Para identificar estas acciones en el procedimiento WLanguage, utilice BitwiseAND. Por ejemplo:
IF BitwiseAND(nAction, hwAdd) = hwAdd THEN ...
Observaciones

Procedimiento WLanguage ejecutado en el subproceso principal

Por defecto, este procedimiento WLanguage se llama en el subproceso principal de la aplicación, con el contexto HFSQL que corresponde al procedimiento:
  • Si el procedimiento es un procedimiento local de una ventana que utiliza un contexto independiente, se utilizará el contexto de la ventana.
  • Si el procedimiento pertenece a un componente que utiliza un contexto independiente, se utilizará el contexto del componente.
Atención:
El procedimiento asociado a HWatch puede ser llamado en cualquier momento de la aplicación.
Si el procedimiento lee records o se mueve entre records en los archivos de datos, esto tendrá un impacto en la aplicación (como los Timers).
Por lo tanto, es posible que tenga que llamar a HSavePosition y HRestorePosition para guardar los contextos de los archivos utilizados.
Multitask no debe utilizarse en el código de procedimiento.

WLanguage procedure executed in a secondary thread

If the WLanguage procedure is called in a secondary thread:
  • the HFSQL context is copied the first time Procedimiento WLanguage llamado por HWatch is called. Only the directories containing the data files in HFSQL Classic mode and/or the connections in HFSQL Client/Server mode are stored.
    Note: If HChangeDir is called between two calls to the Procedimiento WLanguage llamado por HWatch function, HChangeDir is ignored. Example:
    HWatch(AFile, hSecondaryThread)
    // The HChangeDir function is ignored
    HChangeDir(AnotherFile)
    HWatch(AnotherFile, hSecondaryThread)
  • UI elements (windows, controls, etc.) cannot be manipulated in the secondary thread. When a secondary thread must interact with the user or update the UI, it must use a process started from the main thread. This process can correspond to:
    • a global procedure of the project or a local procedure (of a window, etc.) called by ExecuteMainThread,
    • the "Request for refreshing the display" event of a window run by RequestRefreshUI.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd300hf.dll
Ver también
Versión mínima requerida
  • Versión 22
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 30/03/2025

Señalar un error o enviar una sugerencia | Ayuda local