ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / Managing databases / HFSQL / HFSQL Client/Server functions
  • Procédure WLangage exécutée dans le thread principal
  • Procédure WLangage exécutée dans un thread secondaire
  • Cas particuliers
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
<Source>.Surveille (Fonction)
En anglais : <Source>.Watch
HFSQL Client/ServeurDisponible 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.
Cette surveillance peut être arrêtée via la fonction <Source>.SurveilleStop.
Exemple
// 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
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 :
hsAjoutSurveille les opérations d'ajout d'enregistrements.
hsModificationSurveille les opérations de modification d'enregistrements.
hsRayeSurveille les opérations de rayage d'enregistrements.
hsSuppressionSurveille les opérations de suppression d'enregistrements.
<Mode d'exécution> : Constante optionnelle
Mode d'exécution de la procédure WLangage :
hThreadSecondaireExé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)
    // La fonction HChangeRep n'est pas prise en compte
    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.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction <Source>.Surveille.

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.
Pour arrêter la surveillance du fichier de données, utilisez la fonction <Source>.SurveilleStop.
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.
Composante : wd290hf.dll
Minimum version required
  • Version 25
Comments
Click [Add] to post a comment

Last update: 03/18/2024

Send a report | Local help