|
|
|
|
|
- Procedimiento WLanguage ejecutado en el subproceso principal
- WLanguage procedure executed in a secondary thread
Procedimiento WLanguage llamado por HWatch Procedimiento WLanguage ("callback") llamado por HWatch cuando se realiza un cambio en el archivo de datos especificado.
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:
| | hwAdd | Procedimiento iniciado una vez añadido un Record al archivo de datos. | hwBorrar | Procedimiento iniciado una vez borrado un Record del archivo de datos. | hwCross | Procedimiento iniciado una vez que se cruza un Record en el archivo de datos. | hwModificar | Procedimiento 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)
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
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|