DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL
  • Blocage en version 5.5
  • Blocage dans les versions suivantes
  • Blocages lors de la migration d'un projet vers une version supérieure
  • Remarques
  • Cas HModePerso(Vrai)
  • Cas HModePerso(Faux)
  • Cas HModeSemiPerso()
  • Cas HModeAuto
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
Blocage des fichiers de données : correspondance WINDEV 5.5 et les versions supérieures
HFSQL ClassicHFSQL Client/ServeurDisponible uniquement avec ces types de connexion
Blocage en version 5.5
Trois modes de gestion des blocages en réseau étaient disponibles :
  • HModePerso(Vrai) : Les tests de blocage devaient être réalisés après chaque appel à une fonction Hyper File.
  • HModePerso(Faux) : Les tests de blocage devaient être réalisés après chaque appel à une fonction Hyper File sauf pour les fonctions Hyper File de lecture non bloquante.
  • HModeSemiPerso() : Le test du compte-rendu de blocage était automatique. En cas d'échec du blocage, l'exécution du programme était abandonnée.
La fonction HModeAuto était utilisée en mode mono -utilisateur.
Remarque : La gestion des blocages n'est pas automatique sur des rubriques de type Mémo ou Mémo Binaire.
Blocage dans les versions suivantes
Dans les versions supérieures à la version 5.5, la gestion des blocages est plus simple et plus puissante :
  • hMode(HModeMulti) : gestion d'un mode multi-utilisateurs (réseau)
  • hMode(HModeMono) : gestion d'un mode mono-utilisateur.
Dans une nouvelle application WINDEV 2024, par défaut, en mode multi-utilisateurs, la gestion des blocages est automatiquement gérée par le moteur HFSQL. Il est possible de la personnaliser grâce à la fonction HSurErreur.
Blocages lors de la migration d'un projet vers une version supérieure
Lors de la migration d'un projet vers une version supérieure à la version 5.5, certaines opérations sont effectuées automatiquement pour conserver le comportement de WINDEV 5.5, en limitant les modifications de votre code. Le tableau ci-dessous récapitule pour chacun des modes de blocage WINDEV 5.5:
  • les opérations automatiquement effectuées lors de la migration
  • les opérations à effectuer dans certains cas particuliers.
Remarque : Un projet migré en version 2024 conservera sa propre gestion des blocages. Le code est migré pour que cette gestion des blocages continue à fonctionner.
Remarques

Cas HModePerso(Vrai)

Type de blocage 5.5 :
HModePerso(Vrai)
Code équivalent :
HMode(hModeMulti)
HSurErreur("*", hErrTout, "")
  • Le code équivalent est automatiquement inséré à la migration du projet.
  • La ligne de code HSurErreur("*",hErrTout,"") est insérée dans le code d'initialisation du projet.
  • Si votre code WINDEV 5.5 contenait plusieurs appels à la fonction HModePerso(Vrai), il est nécessaire de recopier la ligne de code HSurErreur("*",hErrTout,"") après chaque appel.

Cas HModePerso(Faux)

Type de blocage 5.5 :
HModePerso(Faux)
Code équivalent :
HMode(hModeMulti)
HSurErreur("*", hErrTout, "")
  • Le code équivalent est automatiquement inséré à la migration du projet.
  • Le code HSurErreur("*",hErrTout,"") est inséré dans le code d'initialisation du projet.
  • Si votre code WINDEV 5.5 contenait plusieurs appels à la fonction HModePerso(Faux), il est nécessaire de recopier la ligne de code HSurErreur("*",hErrTout,"") après chaque appel.
  • Attention : Dans le cas d'une lecture d'un enregistrement bloqué en lecture/écriture (par exemple si la fonction HBloqueFichier a été appelée) :
    • le moteur Hyper File 5.5 ré-essayait indéfiniment sans tenir compte de la valeur de h.NbEssais.
    • le moteur HFSQL Classic ré-essaye en tenant compte de la valeur de h.NbEssais.

Cas HModeSemiPerso()

Type de blocage 5.5 :
HModeSemiPerso()
Code équivalent :
HMode(hModeMulti)
HSurErreur("*", hErrBlocage, "_EchecBloquage" )
Où "_EchecBloquage" est une procédure globale du projet
PROCÉDURE _EchecBloquage()
SI OuiNon("Blocage" + "Voulez réessayer ou quitter le programme") = Non ALORS
  RENVOYER opFinProgramme
FIN
RENVOYER opRéessayer
  • La fonction HModeSemiPerso est automatiquement migrée en HMode(hModeMulti).
  • Le code HSurErreur("*",hErrTout,"") est inséré dans le code d'initialisation du projet.
  • Opérations à faire :
    • Créer une procédure globale au projet avec le code ci-contre.
    • Modifier la fonction HSurErreur pour lancer la procédure globale.
  • Si votre code WINDEV 5.5 contenait plusieurs appels à la fonction HModeSemiPerso, il est nécessaire de recopier l'appel à la fonction HSurErreur après chaque appel de HModeSemiPerso.

Cas HModeAuto

Type de blocage 5.5 :
HModeAuto
Code équivalent :
HMode(hModeMono)
HSurErreur("*", hErrTout, "")
  • Le code équivalent est automatiquement inséré à la migration du projet.
  • Le code HSurErreur("*",hErrTout,"") est inséré dans le code d'initialisation du projet.
  • Si votre code WINDEV 5.5 contenait plusieurs appels à la fonction HModeAuto, il est nécessaire de recopier la ligne de code HSurErreur("*", hErrTout, "") après chaque appel.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 24/08/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale