PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → HChangeConnexion et serveur injoignable
HChangeConnexion et serveur injoignable
Started by Patrick Marty, Sep., 21 2021 2:11 PM - 1 reply
Posted on September, 21 2021 - 2:11 PM
Bonjour,

j'utilise un fichier de données HFSQL en local et en client serveur sur HF/CS.
C'est le même fichier dans l'analyse, le même nom.
J'alterne entre l'un et l'autre, j'écris et je cherche en local, j'écris et je cherche en C/S.
J'ai défini une variable connexion locale et une autre pour HF/CS.

Je défini en 1er ma connexion locale:
HChangeConnexion(HoneyPortScan,gCnxLocal)
HChangeRep(HoneyPortScan,gsRepData)

puis le moment venu, je me connecte au serveur pour exploiter mes données distantes:
HChangeConnexion(HoneyPortScan,gCS_CNX)
HChangeRep(HoneyPortScan,".\")
HOuvreConnexion(HoneyPortScan)

top cool.

Là où je tombe du placard, c'est quand je veux repasser sur l'exploitation de mon fichier local et que Oh! pas de chance, le serveur n'est pas joignable au moment où j'appelle:

HChangeConnexion(HoneyPortScan,gCnxLocal)
HChangeRep(HoneyPortScan,gsRepData)

Reproductible systématiquement sur un poste de travail en sortie de veille.

Que se passe-t-il? Je reste bloqué plusieurs dizaines de secondes sur HChangeConnexion qui finit par renvoyer une erreur fatale 73203, Communication with <monserveur.com> server failed.

Je change ma connexion pour taffer avec un fichier local, (mais ça pourrait être un autre serveur), j'en ai rien à foutre que le serveur distant ne soit pas joignable, c'est mon application qui a besoin de savoir qu'elle change de source de donnée et que la nouvelle source est joignable.

Est-ce que j'ai un moyen de faire un HChangeConnexion sans que Windev ne s'occupe de vérifier l'état de la connexion en cours?

Merci,
Patrick Marty
Registered member
3,883 messages
Popularité : +227 (347 votes)
Posted on September, 22 2021 - 7:14 AM
Bonjour,
Il suffit de traiter le cas dans ton CAS ERREUR/CAS EXCEPTION
Tu es dans le cas d'une erreur fatale, il y a une très forte probabilité que ce soit une exception
CAS EXCEPTION
SELON ExceptionInfo(errCode)
CAS 73203
TraiterDéconnexion()
AUTRE CAS
Erreur(ExceptionInfo(errComplet))
FIN


--
Il y a peut être plus simple, mais, ça tourne