|
| Inicio → WINDEV 2025 → HBloqueNumEnr() sur un record déjà bloqué dans un parcours suite à un HFiltre() |
| HBloqueNumEnr() sur un record déjà bloqué dans un parcours suite à un HFiltre() |
| Iniciado por Julien, 18,jun. 2020 17:58 - No hay respuesta |
| |
| | | |
|
| |
Miembro registrado 18 mensajes |
|
| Publicado el 18,junio 2020 - 17:58 |
Bien le bonjour,
Je suis sur un projet où je dois gérer plusieurs instances d'une application qui doivent lire des records d'un fichier, et chaque instance doit bloqué leur record en lecture. Afin que toutes les instances travaillent sur des records différents (très important).
Malheureusement, suite à des tests et lecture de l'aide, je remarque que quand je parcours mon fichier, et que je détecte une ligne déjà bloquée par une autre instance, impossible de faire un HLitSuivant().
Je ne comprends pas pourquoi PCSoft empêche de bypasser ce record bloqué pour continuer le parcours.
Avez-vous une solution ? Grand merci d'avance.
Voici un bout de mon code :
HDésactiveFiltre( SMS_Envoi ) CléParcours = HFiltre( SMS_Envoi , " Envoyé = '0' " )
HLitPremier( SMS_Envoi , CléParcours ) TANTQUE HEnDehors() = Faux bSMS_Envoyé = Faux SI gbThread_Stop = Vrai ALORS gbThread_Actif = Faux SORTIR FIN SI HErreurBlocage() = Vrai ALORS SINON SI HBloqueNumEnr( SMS_Envoi , HNumEnr(SMS_Envoi) , hBlocageEcriture ) = Vrai ALORS ... ... SI PAS HDébloqueNumEnr( SMS_Envoi , hNumEnrEnCours ) ALORS Erreur( "Impossible de débloquer l'enregistrement." +RC+RC+ "ID = "+ SMS_Envoi.ID_SMS_Envoi +RC+RC+ HErreurInfo(hErrMessage) ) FIN SINON Info("blocage PAS OK" +RC+RC+ HErreurInfo(errMessage) ) InfoLock est une chaîne = HInfoBlocage( SMS_Envoi , HNumEnr(SMS_Envoi) ) Lock_User est une chaîne = ExtraitChaîne(InfoLock, 3, TAB) Lock_Application est une chaîne = ExtraitChaîne(InfoLock, 6, TAB) Erreur("L'enregistrement est bloqué par " + Lock_User + " (" + Lock_Application + ").") FIN FIN HLitSuivant( SMS_Envoi , CléParcours ) FIN |
| |
| |
| | | |
|
| | | | |
| | |
|