Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10] Gestion des bloquages

15 réponses
Avatar
wd_newbie
Bonjour,

j'ai une petite question, en lisant le manuel "Programmation" de WD10,
j'ai lu que, si on veut faire tourner son appli en r=E9seau ( avec
partage des fichiers HF , pas en Client/Serveur) il faut :
- d=E9clarer le mode de blocage multi
- g=E9rer les acc=E8s lors des lectures =E9critures

Faut-il tester le blocage sur chaque lecture ecriture (HErreurBlocage
()) ??

J'ai d=E9cortiqu=E9 un peu l'exemple "WD qui bloque" et je prends peur !!
L'appli que je suis en train de refaire sous WD, peut =EAtre utilis=E9e
(doit) en r=E9seau avec au max 2-3 machines. Je ne pensais pas prendre 3
mois pour g=E9rer les acc=E8s :-)

Comment g=E9rez-vous ces acc=E8s concurentiels ? Y'a t'il une (des)
bonne(s) fa=E7on de faire ??

Merci de votre aide !!


Olivier

10 réponses

1 2
Avatar
patrice
"wd_newbie" a écrit dans le message de
news:
Faut-il tester le blocage sur chaque lecture ecriture (HErreurBlocage



de la meme facon que l'on test une erreur éventuel apres chaque acces donc
je vois pas le problème à ce niveau.
c'est plus les écritures où il faut ajouter un traitement.

le cas est simple pour les fichiers de bases (browse le fichier, modif d'une
fiche)
si lectureverouille()
mise_a_jourfiche
sinon
erreur(cette fiche est en cours d'utilisation)

pour les fichiers liés (style mouvement de stock avec décompte d'un total
dans x fichiers) il faut utiliser les transactions.
si la transaction réussi , ok, si ca echoue, tout est annulé, on affiche le
msg d'erreur et on demande à l'utilisateur de réessayer
Avatar
wd_newbie
On 5 fév, 14:58, "patrice" wrote:
"wd_newbie" a écrit dans le message denews:117

>Faut-il tester le blocage sur chaque lecture ecriture (HErreurBlocage

de la meme facon que l'on test une erreur éventuel apres chaque acces d onc
je vois pas le problème à ce niveau.
c'est plus les écritures où il faut ajouter un traitement.

le cas est simple pour les fichiers de bases (browse le fichier, modif d' une
fiche)
si lectureverouille()
mise_a_jourfiche
sinon
erreur(cette fiche est en cours d'utilisation)

pour les fichiers liés (style mouvement de stock avec décompte d'un t otal
dans x fichiers) il faut utiliser les transactions.
si la transaction réussi , ok, si ca echoue, tout est annulé, on affi che le
msg d'erreur et on demande à l'utilisateur de réessayer



Y'a t'il un moyen de simuler ce blocage en mode developpement pour
effectuer des test ?

J'ai essaye avec HBloqueNumEnr(Jeux) et ensuite je le modifie, mais il
n'y a pas d'erreur.

salutations

Olivier
Avatar
Romain PETIT
Dans son message précédent, wd_newbie a écrit :

J'ai essaye avec HBloqueNumEnr(Jeux) et ensuite je le modifie, mais il
n'y a pas d'erreur.



Il faut le bloquer via une autre application.
Par exemple, tu peux utiliser WDMAP :
- tu ouvres le fichier en quesion avec WDMAp,
- tu te places sur l'enregistrement voulu,
- un clic sur la ligne comme pour modifier l'enregistrement (ta
colonne passe en mode édition).
A partir de là, une tentative de modification par une autre application
devrait se solder par un échec.

Sinon, tu te crées un petit exe avec 2 boutons :
- bouton 1 : HBloqueFichier(...) (par exemple)
- bouton 2 : HDebloqueFichier(...)

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
wd_newbie
On 6 fév, 12:48, Romain PETIT wrote:
Dans son message précédent, wd_newbie a écrit :

> J'ai essaye avec HBloqueNumEnr(Jeux) et ensuite je le modifie, mais il
> n'y a pas d'erreur.

Il faut le bloquer via une autre application.
Par exemple, tu peux utiliser WDMAP :
- tu ouvres le fichier en quesion avec WDMAp,
- tu te places sur l'enregistrement voulu,
- un clic sur la ligne comme pour modifier l'enregistrement (ta
colonne passe en mode édition).
A partir de là, une tentative de modification par une autre application
devrait se solder par un échec.
..
A+




je dois faire une c... quelquepart :
lors de l'ouverture de l'appli :
// gestion des erreurs HF
HSurErreur ("*" , hErrTout, "") // je gére les erreurs moi-meme
// gestion des blocages
HMode("*",hModeMulti) // blocage pour utilisation reseau

je lance WMAP je me mets sur l'enregistrement 'X250'

je lance mon appli => mode fiche => modification de la fiche et clic
sur Valider, la modification est acceptee et si je retourne sur WMAP
et que je selectionne un autre enregistrement et revient sur la ligne
'X250', clac, mes modifs apparaissent ... voir le code "Valider la
modification" ci-dessous :

<code>
SI controler_entree()= Faux ALORS RETOUR

EcranVersFichier(FEN_fiche_jeux)

SI PAS HAjoute(membres) ALORS
// erreur de relation
SI HErreurIntégrité() = Vrai ALORS
Erreur("Erreur d'intégrité : cet enregistrement ne peut "+...
"être modifié")
RETOUR
FIN
// serreur de doublon
SI HErreurDoublon()= Vrai ALORS
Erreur("Erreur de doublon, ce numéro de membre existe déja !!")
// remettre l'ancien numero
RepriseSaisie(SAI_Numero_membre)
RETOUR
FIN
SI HErreurBlocage()=Vrai ALORS
Erreur("Cette fiche est bloquée, veuillez réessayer plus tard !")
RETOUR
FIN

SINON
changer_mode("bloquer")
FIN

</code>
Avatar
patrice
"wd_newbie" a écrit dans le message de
news:
On 6 fév, 12:48, Romain PETIT wrote:
SI PAS HAjoute(membres) ALORS



dans ton cas peut pas y'avoir d'erreur blocage en hajoute (nouvelle fiche,
personne peut l'utiliser à par toi)
c'est plus pour les modifs :
si HLit(nomfic,nbrecord,hBlocageEcriture) = Faux alors

erreur(en cours d'utilisation)

retour

fin

ecranversfichier()

si pas hmodifie() alors

// err doublon à traiter, le reste c'est erreur inattendue

fin
Avatar
wd_newbie
> >SI PAS HAjoute(membres) ALORS

dans ton cas peut pas y'avoir d'erreur blocage en hajoute (nouvelle fiche,
personne peut l'utiliser à par toi)
c'est plus pour les modifs :
si HLit(nomfic,nbrecord,hBlocageEcriture) = Faux alors

erreur(en cours d'utilisation)

retour

fin

ecranversfichier()

si pas hmodifie() alors

// err doublon à traiter, le reste c'est erreur inattendue

fin



Mea culpa , j'ai copie le code du mauvais bouton , c'etait
Hmodifie(membres) qu'il fallait lire !

Pour resumer .
- je bloque l'enregistrement depuis WDMAP
- je lance mon appli depuis l'AGL
- je modifie ma fiche => valider par Hmodifie()
- je n'ai pas d'erreur de blocage
- je retourne sous WDMAP, les modifs ont été acxceptées :-(

Olivier
Avatar
Romain PETIT
wd_newbie a utilisé son clavier pour écrire :
je lance WMAP je me mets sur l'enregistrement 'X250'



Au temps pour moi, WDMap ne bloque pas l'enregistrement...
Fais ton petit exe...

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou Eric
Romain PETIT avait énoncé :
wd_newbie a utilisé son clavier pour écrire :
je lance WMAP je me mets sur l'enregistrement 'X250'



Au temps pour moi, WDMap ne bloque pas l'enregistrement...
Fais ton petit exe...



Merci j'aurais appris qq chose sur la bonne orthographe d'une
expression aujourd'hui.
http://www.langue-fr.net/index/A/au_temps-autant.htm

Comme je sais que tu n'es pas très coutumier des fautes d'orthographe,
cela m'a interpellé d'où ma petite recherche.




A+



--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jacques TREPP
"Roumegou Eric" a écrit dans le message de news:

Romain PETIT avait énoncé :
wd_newbie a utilisé son clavier pour écrire :
je lance WMAP je me mets sur l'enregistrement 'X250'



Au temps pour moi, WDMap ne bloque pas l'enregistrement...
Fais ton petit exe...



Merci j'aurais appris qq chose sur la bonne orthographe d'une expression
aujourd'hui.
http://www.langue-fr.net/index/A/au_temps-autant.htm

Comme je sais que tu n'es pas très coutumier des fautes d'orthographe,
cela m'a interpellé d'où ma petite recherche.




j'avoue que j'ai tiqué aussi. c'est bien de se cultiver au boulot.
que dire alors de :
"autant suspend ton vol"
:D

bon : je sord

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Avatar
titou44
Roumegou Eric vient de nous annoncer :
Romain PETIT avait énoncé :
wd_newbie a utilisé son clavier pour écrire :
je lance WMAP je me mets sur l'enregistrement 'X250'



Au temps pour moi, WDMap ne bloque pas l'enregistrement...
Fais ton petit exe...



Merci j'aurais appris qq chose sur la bonne orthographe d'une expression
aujourd'hui.
http://www.langue-fr.net/index/A/au_temps-autant.htm

Comme je sais que tu n'es pas très coutumier des fautes d'orthographe, cela
m'a interpellé d'où ma petite recherche.




A+





bonjour

merci pour le lien.
cela fait depuis mon enfance que je fais l'erreur.
au temps pour moi !

titou44 chez freesurf.fr
1 2