|
|
|
|
- WLanguage Procedure ejecutado en el Thread principal
- Lenguaje Procedure ejecutado en un Thread secundario
WLanguage Procedure llamado por HTrack WLanguage Procedure ("callback") llamado por HTrack cuando se realiza un cambio en el fichero de datos especificado.
HTrack(Order, ProcessOrder, hRecNumAll, hsAdd)
PROCEDURE ProcessOrder(FileName, RecNum, Action)
IF BitwiseAND(nAction, hsAdd) = hsAdd THEN
Trace("An addition was made in the data file: " + FileName)
END
Sintaxis
HTrack_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 de la Record modificada (equivalente al número devuelto por HRecNum). <Action>: Constante de tipo Integer Acción que desencadenó el Procedure. Los valores posibles son:
| | hsAdd | El procedimiento comenzó una vez que se añadió un Record a el archivo de datos. | hsCross | El procedimiento comenzó una vez que se cruzó un Record en el archivo de datos. | hsDeletion | El procedimiento comenzó una vez que se borró un Record de el archivo de datos. | hsModification | El procedimiento comenzó una vez que se modificó un Record en el archivo de datos. |
Atención: Si un proceso agrega un registro y modifica este registro inmediatamente después, HTrack se llama una vez con una combinación de las constantes hsAdd y hsModification 40069006f006e00. Para identificar estas acciones en el lenguaje WLanguage Procedure debe utilizarse BitwiseAND . Por ejemplo:
IF BitwiseAND(nAction, hsAdd) = hsAdd THEN ...
Observaciones WLanguage Procedure ejecutado en el Thread principal Por defecto, este WLanguage Procedure es llamado en el hilo principal de la aplicación, con el contexto HFSQL que corresponde al Procedure: - Si el Procedure es un Procedure local de una ventana que utiliza un contexto independiente, se utilizará el contexto de la ventana.
- Si el Procedure pertenece a un Component que utiliza un contexto independiente, se utilizará el contexto del Component.
| Atención: El Procedure associated con HTrack puede ser llamado en cualquier momento en la aplicación. Si el Procedure lee registros o se mueve entre registros en los archivos de datos, esto tendrá un impacto en la aplicación (como los temporizadores). 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 Procedure. |
Lenguaje Procedure ejecutado en un Thread secundario Si se llama al lenguaje WL Procedure en un Thread secundario : - el contexto HFSQL se copia la primera vez que se llama a WLanguage Procedure llamado por HTrack. Solo se almacenan los directorios que contienen los archivos de datos en modo HFSQL Classic y/o las conexiones en modo HFSQL Client/Server.
- Los elementos de la interfaz de usuario (ventanas, controles, etc.) no pueden ser manipulados en la Thread secundaria . Cuando un thread secundario debe interactuar con el usuario o actualizar la interfaz de usuario, debe utilizar un Process iniciado desde el thread principal. . Este proceso puede corresponder a:
- un procedimiento global del proyecto o un procedimiento local (de una ventana, etc.) llamado con la función ExecuteMainThread,
- el evento "Solicitud para actualizar la visualización" de una ventana, ejecutado con la función RequestRefreshUI.
Clasificación Lógica de negocio / UI: Código neutro
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|