|
|
|
|
- Procédure WLangage exécutée dans le thread principal
- Procédure WLangage exécutée dans un thread secondaire
- Cas particuliers
<Source>.Surveille (Fonction) En anglais : <Source>.Watch
Disponible uniquement avec ce type de connexion
Déclenche la surveillance des actions d'écriture (ajout, modification ou suppression) effectuées sur un fichier d'un serveur HFSQL. En cas de modification, une procédure spécifique peut être déclenchée.
Commande.Surveille(TraiteCommande, hNumEnrTous, hsAjout)
Syntaxe
<Résultat> = <Source>.Surveille(<Procédure WLangage> [, <Numéro d'enregistrement> [, <Action à  surveiller> [, <Mode d'exécution>]]])
<Résultat> : Booléen - Vrai si la surveillance du fichier de données est activée,
- Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Source> : Type correspondant à la source spécifiée Nom du fichier de données HFSQL à manipuler. Ce fichier de données est associé à une connexion et à un serveur. <Procédure WLangage> : Nom de procédure Nom de la procédure WLangage (également appelée "callback") appelée lors d'un changement sur le fichier de données spécifié. Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction <Source>.Surveille. <Numéro d'enregistrement> : Entier optionnel - Numéro de l'enregistrement à surveiller.
- Constante hNumEnrTous pour surveiller tous les enregistrements du fichier de données (c'est-à -dire tout le fichier de données).
<Action à surveiller> : Constante ou combinaison de constantes optionnelle Actions à surveiller pour lesquelles la procédure doit être lancée : | | hsAjout | Surveille les opérations d'ajout d'enregistrements. | hsModification | Surveille les opérations de modification d'enregistrements. | hsRaye | Surveille les opérations de rayage d'enregistrements. | hsSuppression | Surveille les opérations de suppression d'enregistrements. |
<Mode d'exécution> : Constante optionnelle Mode d'exécution de la procédure WLangage :
| | hThreadSecondaire | Exécution de la procédure WLangage dans un thread secondaire. |
Par défaut, la procédure WLangage est exécutée dans le thread principal. Remarques Procédure WLangage exécutée dans le thread principal Par défaut, la procédure WLangage est appelée dans le thread principal de l'application, avec le contexte HFSQL correspondant à la procédure : - Si la procédure est une procédure locale d'une fenêtre utilisant un contexte indépendant, le contexte utilisé sera celui de la fenêtre.
- Si la procédure appartient à un composant utilisant un contexte indépendant, le contexte utilisé sera celui du composant.
| Attention : La procédure associée à la fonction <Source>.Surveille peut être appelée à n'importe quel moment dans l'application. Si la procédure effectue des parcours HFSQL ou des déplacements dans des fichiers de données, cela impactera l'application (comme les timers). Il peut donc être nécessaire d'utiliser : Il ne faut pas utiliser la fonction Multitâche dans le code de la procédure. |
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction <Source>.Surveille. Procédure WLangage exécutée dans un thread secondaire Si la procédure WLangage est appelée dans un thread secondaire : - une copie "légère" du contexte HFSQL est effectuée au moment du premier appel à la fonction <Source>.Surveille. Seuls les répertoires où se trouvent les fichiers de données en HFSQL Classic et/ou les connexions en HFSQL Client/Serveur sont mémorisés.
Remarque : Si la fonction <Source>.ChangeRep est appelée entre deux appels à la fonction <Source>.Surveille, la fonction <Source>.ChangeRep n'est pas prise en compte. Exemple :
HSurveille(UnFichier, hThreadSecondaire)
HChangeRep(UnAutreFichier)
HSurveille(UnAutreFichier, hThreadSecondaire)
- il est interdit de manipuler l'UI (fenêtres, champs, etc.) dans le thread secondaire. Lorsqu'un thread secondaire doit interagir avec l'utilisateur ou mettre à jour l'UI, il doit utiliser un traitement lancé depuis le thread principal. Ce traitement peut correspondre à :
- une procédure globale du projet ou une procédure locale (d'une fenêtre, etc.) appelée par la fonction ExécuteThreadPrincipal,
- l'événement "Demande de mise à jour de l'affichage" d'une fenêtre exécuté grâce à la fonction DemandeMiseAJourUI.
Cas particuliers La surveillance est définie pour un fichier de données et une connexion : - Si le nom physique ou la connexion associés au nom logique du fichier de données change, le fichier surveillé par le serveur reste celui indiqué au moment de l'appel de la fonction <Source>.Surveille.
- Si la connexion est fermée, la surveillance est automatiquement arrêtée.
- Si la connexion est perdue puis restaurée par la reconnexion automatique, la surveillance est maintenue.
Service Windows : Les fonctions <Source>.Surveille et <Source>.SurveilleStop peuvent être utilisées dans un service Windows. Si <Source>.Surveille est utilisée dans un service Windows, le test de cette fonction ne pourra être effectué que sur le service déployé, et non lors du "Go" du service.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|