4.3.2 Mode Multi

Transcription

4.3.2 Mode Multi
WLangage.book Page 375 Mardi, 23. avril 2013 1:59 13
Le mode Mono convient aux programmes ne partageant pas leurs fichiers pour développer simplement un programme.
Appel du mode Mono
Le mode Mono est le mode de blocage par défaut
de WinDev.
Remarque : Dans un programme, il est possible de
passer du mode Mono au Multi.
Exemple en mode Mono
L’exemple suivant illustre le mécanisme de blocage
et de déblocage du mode Mono. Les fonctions utilisées sont détaillées à la fin de cette partie.
Vous remarquerez qu’aucun de ces programmes ne
comporte de fonctions de blocage de fichier.
// Recherche client selon son nom
HLitRecherche(CLIENT,NOM,"MARTIN")
Si HTrouve() alors
Info ("Client trouvé")
Sinon
Info("Client inconnu")
Fin
Remarque : Après l'appel de la fonction HLitRecherche, le fichier "CLIENT" est ouvert et bloqué. Il
est débloqué à la fin de l'exécution du programme.
4.3.2 Mode Multi
Le mode Multi est le mode de blocage par défaut
de WebDev.
Le mode Multi se caractérise par :
• les blocages sont gérés par le développeur dans
les programmes,
• les comptes rendus de blocage (permettant de
savoir si aucun enregistrement d'un fichier n'est
déjà bloqué par un autre programme) sont gérés
dans les programmes par le développeur qui
décide des traitements à effectuer.
Utilisateur WinDev 5.5 : ce mode correspond à la
fonction HModePerso de WinDev 5.5.
Quand utiliser ce mode ?
Le mode Multi doit être préféré au mode Mono
lorsqu'un ou plusieurs fichiers d'un programme doivent être partagés par plusieurs programmes.
En conséquence, le mode Multi doit être utilisé dès
qu'une opération logique de mise à jour de plu-
sieurs fichiers ne peut pas être interrompue : soit
tous les fichiers sont mis à jour, soit aucun.
En WinDev, le mode Multi propose une gestion
automatique :
• des erreurs de blocages,
• des conflits de modification.
Cette gestion automatique peut être personnalisée
à tout moment grâce à la fonction HSurErreur.
Pour plus de détails sur la personnalisation de la
gestion automatique, consultez l’aide en ligne.
Remarque : la gestion des blocages utilisée en
WinDev 5.5 est toujours disponible par compatibilité.
Appel du mode Multi
Pour appeler le mode Multi dans un programme, il
suffit d'exécuter au début du programme la fonction HMode(hModeMulti).
Deux méthodes de mise en place des blocages
sont disponibles :
• Mode Direct : constante hModeDirect (valeur par
défaut) : mise en place des blocages prioritaire
(sur la modification par exemple).
Ainsi, la modification d'un enregistrement sur
lequel de nombreuses lectures sont réalisées a
peu de chances d'être effectuée, mais les blocages sont plus rapides.
Réservation :
constante
• Mode
hModeRéservation : mise en place des blocages
non prioritaire.
Cette méthode permet de modifier immédiatement un enregistrement sur lequel de nombreuses lectures sont effectuées. Cette méthode est
plus lente que la méthode hModeDirect.
En résumé
Le mode Multi permet de partager un ou plusieurs
fichiers entre plusieurs programmes.
En programmation, le développeur gère les blocages des fichiers. Il doit également tester HErreurBlocage après toutes les fonctions HyperFileSQL.
Le mode Multi convient aux programmes gérant
des fichiers pouvant être partagés. Les programmes traitent une opération logique de mise à jour
de plusieurs fichiers ne pouvant pas être interrompue.
Partie 7 : Gestion des fichiers de données
375