4.3 Les modes de blocage proposés

Transcription

4.3 Les modes de blocage proposés
WLangage.book Page 373 Mardi, 23. avril 2013 1:59 13
Les traitements de P1 et P2 deviennent :
Programme P1
BLOQUER(F1)
BLOQUER(F2)
<Traitement 1>
DEBLOQUER(F1)
DEBLOQUER(F2)
Programme P2
BLOQUER(F1)
BLOQUER(F2)
<Traitement 2>
DEBLOQUER(F1)
DEBLOQUER(F2)
Dans ce cas :
• P1 bloque F1.
4.3 Les modes de blocage proposés
Il existe deux modes de blocage des fichiers et des
enregistrements.
Ce chapitre :
• aide à choisir le mode à adopter dans les programmes,
• explique la méthode pour bloquer un fichier ou
un enregistrement,
• détaille le fonctionnement de chaque mode.
4.3.1 Mode Mono
Le mode Mono est le mode de blocage par défaut
de WinDev.
Il se caractérise par le blocage automatique de chaque fichier dès son ouverture. Le fichier sera débloqué lors de sa fermeture.
Utilisateur WinDev 5.5 : ce mode correspond à la
fonction HModeAuto de WinDev 5.5.
Ce mode est conservé par compatibilité avec WinDev. Il ne doit pas être utilisé dans un site WebDev.
Utilisateur WebDev 1.5 : ce mode correspond à la
fonction HModeAuto de WebDev 1.5.
Quand utiliser ce mode ?
Le mode Mono est utilisé pour développer simplement des programmes dont les fichiers ne sont pas
partagés par plusieurs postes ou par plusieurs programmes en même temps.
Avec le mode Mono, il n'est pas nécessaire de gérer
les blocages en programmation, les fichiers sont
bloqués dès leur ouverture en écriture et en lecture. Les fichiers ne sont pas partageables.
Important
• Le mode Mono ne convient pas aux programmes
fonctionnant en réseau.
Si un programme développé en mode Mono est
lancé plusieurs fois sur une même machine ou
• P2 ne peut pas bloquer F1.
• P1 bloque F2.
• P2 attend la libération du fichier F1.
• Le traitement 1 s'exécute.
• P1 débloque F1.
• P1 débloque F2.
• P2 bloque F1.
• P2 bloque F2. ...
"L'étreinte mortelle" est évitée !
WD WebDev
s'exécute en réseau, un message d'erreur s'affichera signalant que le mode Mono est inapproprié pour ce type de fonctionnement.
• Un programme développé avec le mode Mono ne
pourra pas être lancé plusieurs fois sous Windows.
Comment sont bloqués les fichiers en
mode Mono ?
Le mode Mono est le mode de blocage par défaut
de WinDev.
En mode Mono, dès qu'un fichier est ouvert par
une fonction (HOuvre ou toute autre fonction, par
exemple HLitPremier, HCreation, ...), le fichier est
bloqué automatiquement en lecture et en écriture.
Si l'accès au fichier est refusé (le fichier est déjà
bloqué par un autre programme), l'exécution du
programme est abandonnée après l'affichage d'un
message signalant que ce mode est inapproprié.
Un fichier qui a été bloqué lors de son ouverture est
automatiquement débloqué dès qu'il est fermé :
• par la fonction HFerme, si elle est appelée,
• pour pouvoir ouvrir un autre fichier lorsque le
nombre maximum de fichiers pouvant être ouvert
est atteint (fermeture automatique des fichiers).
Remarques
• Si le fichier est débloqué par HFerme (ou HDébloqueFichier, HDébloqueTotalFichier) ou par la fermeture automatique, dans la suite du
programme,
il sera bloqué de nouveau lorsqu'il sera réouvert
par une fonction.
• En mode Mono, le fichier est bloqué tant qu'il est
ouvert. Il est donc conseillé de laisser un fichier
bloqué le moins longtemps possible.
Partie 7 : Gestion des fichiers de données
373

Documents pareils