Le programme de traitement d'erreurs ("Error handler") est un programme Visual Adélia généré portant le nom de SVCERR.
Par défaut, le programme SVCERR fourni par HARDIS reprend les même fonctionnalités que celui intégré en v8.2. Cependant HARDIS fournit également un programme SVCERR_custom.dll (à renommer en SVCERR.dll) exploitant les fonctionnalités présentées ci-dessous.
Par défaut, une erreur d'exécution de service génère toujours l'affichage d'une boîte de message.
Le programme SVCERR_custom.dll propose une nouvelle boîte de dialogue initialisée à l'aide de valeurs définies dans le fichier MwError.ini.
Les nouvelles options de MwError.ini peuvent être fixées à l'aide des macros suivantes :
EXIT_ON_ERROR = 1 |
Permet d'interrompre le programme. |
REGISTER_ERROR = 1 |
Permet d'enregistrer un événement dans le journal des événements Windows (section Application; NomApplication=AdeliwsAPP ou valeur contenue dans la macro REGISTER_APP_NAME). |
REGISTER_APP_NAME = NomApp |
Nom de l'application utilisé pour l'enregistrement d'un événement. |
DISCONNECT_ON_ERROR = 1 |
Permet de forcer la déconnexion du serveur logique. |
Les cases à cocher
Enregistrer un événement
2 cas possibles :
Si cette case est cochée et que l'utilisateur ferme la boîte à l'aide du bouton OK, un événement est créé dans le journal de Windows, et l'application poursuit son exécution.
Si cette case est cochée et que l'utilisateur ferme la boîte à l'aide du bouton Terminer, un événement est créé dans le journal de Windows, puis l'application se termine.
Déconnecter
Si cette case est cochée et que l'utilisateur ferme la boîte à l'aide du bouton OK, le serveur logique concerné est déconnecté, et l'application poursuit son exécution.
Que cette case soit cochée ou décochée, lorsque l'utilisateur ferme la boîte à l'aide du bouton Terminer, l'application se termine et le serveur logique concerné est déconnecté.
Remarque : toutes les chaînes de cette boîte de message se trouvent dans le fichier RTStrings.ini.
Par ailleurs, un utilisateur désirant écrire son propre programme de traitement d'erreurs peut écrire un programme VADELIA de nom IBM SVCERR. Ce programme doit alors remplacer celui par défaut.
Ce programme doit définir les paramètres suivants :
NUM_BIN_4 |
NumErrSrv |
Numéro erreur service. |
BOOL |
GestES |
Gestion entrée/sortie. |
ALPHA(15) |
NomPgm |
Nom du programme. |
ALPHA(30) |
ServLog |
Nom du serveur logique |
NUM_BIN_4 |
NumServ |
Numéro du service |
Remarque : Il est possible de faire appel au programme de traitement d'erreurs par défaut depuis le nouveau programme en renommant la DLL du premier et en faisant appel à ce programme à l'aide de l'ordre APPELER.
Exemple :
La Dll du programme par défaut SVCERR a été renommée en DEFSVCERR.
ALPHA(15) NOMPGMDEF
NOMPGMDEF = 'DEFSVCERR'
APPELER &NOMPGMDEF NumErr GestES NomPGm ServLog NumServ
Fonctions de la VaToolBox supplémentaires utiles à l'écriture d'un programme de traitement d'erreurs :