PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Modification en réseau : hbloquefichier()
Modification en réseau : hbloquefichier()
Débuté par yann.le.manach, 13 déc. 2005 06:44 - 4 réponses
Posté le 13 décembre 2005 - 06:44
Bonjour,

J'ai des doutes sur la fonction hbloquefichier()

Dans le cadre de mon application :
J'ai un répertoire hyperfile sur un serveur, des postes clients qui travaille en même temps sur la base (du serveur).

Quand j'effectue le blocage d'un fichier avec hbloquefichier(Client) depuis le poste "client 1", la fonction retourne vrai (fichier bien bloqué), mais depuis un autre poste ("client 2" par exemple), rien ne m'empêche de bloquer ce même fichier (Client) et donc d'y effectuer des modifications, fichier qui doit normalement être bloqué par le poste "client 1" ! ! ! !

Question:
Comment doit-on réellement procéder pour bloquer réellement un fichier?

En espérant avoir une réponse.

Merci,

nano
Posté le 13 décembre 2005 - 07:46
Bonjour,

Regarde si t'as fait comme ceci :

si pas hbloquefichier(VotreFichier,hblocageLectureEcriture)
si herreurblocage()
//Le fichier est peut être déjà bloqué
fin
fin
...
...
hdebloqueFichier()


BonDev

Ali Hindi : AliDev7@yahoo.fr
Posté le 13 décembre 2005 - 12:02
nano a écrit :
Bonjour,

J'ai des doutes sur la fonction hbloquefichier()

Dans le cadre de mon application :
J'ai un répertoire hyperfile sur un serveur, des postes clients qui travaille en même temps sur la base (du serveur).

Quand j'effectue le blocage d'un fichier avec hbloquefichier(Client) depuis le poste "client 1", la fonction retourne vrai (fichier bien bloqué), mais depuis un autre poste ("client 2" par exemple), rien ne m'empêche de bloquer ce même fichier (Client) et donc d'y effectuer des modifications, fichier qui doit normalement être bloqué par le poste "client 1" ! ! ! !

Question:
Comment doit-on réellement procéder pour bloquer réellement un fichier?

En espérant avoir une réponse.

Merci,

nano


Bonjour,
en quelle version 9 ou 10 ?

--
Cordialement
Chris
Posté le 13 décembre 2005 - 13:59
La version que j'utilise est la 9.

sinon le code est bien du type :
// Blocage du fichier CLIENT
SI HBloqueFichier (CLIENT, HBlocageLectureEcriture )= Faux ALORS
SI HErreurBlocage() = Vrai ALORS
Erreur("Opération impossible")
FIN
FIN
// Traitement sur le fichier ...
...
// Redonner l'accès au fichier
HDébloqueFichier()

Et concernant ce code, on peux avoir bloqué le fichier Client à l'aide de la ligne de code suivante :
SI HBloqueFichier (CLIENT, HBlocageLectureEcriture )= Faux ALORS

Et pour autant le bloquer à nouveau un depuis un autre poste sans qu'il y ait de message d'erreur !

Dans l'attente d'une proposition de solution

Merci
Nano
Posté le 14 décembre 2005 - 05:06
Bonjour,

testez :

si pas hinterditmodif(Fichier)
si herreurblocage()
//Déjà bloqué
fin
sinon
// votre traitement
hfininterditmodif(Fichier)
fin


Bon Dev.

Ali Hindi : AliDev7@yahoo.fr