Bonjour tout le monde,

Je travaille sur forms 6i et je viens de constater un fait très "étrange".
A l'exécution j'ai le contexte et la pile d'appel suivante :
AN_TYPE est un item DISABLED
AN_CODE est un item ENABLED

KEY-EXIT => CLE_EXIT => ... => REVENIR_ETAT_INITIAL => ...
Quand je mets les 2 instructions suivantes dans le trigger précédent KEY-EXIT situé au niveau module :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ACTIVE('B2800.AN_TYPE', 'O', 'N', 'O', 'O', 'O');
GO_ITEM('B2800.AN_TYPE');
alors tout se déroule parfaitement.
Mais si je déplace ces 2 instructions dans la procedure utilisateur REVENIR_ETAT_INITIAL alors j'obtiens l'erreur :
FRM-41016 Attribut DISPLAYED irrecevable pour l'élément courant B2800.AN_CODE
L'instruction qui provoque cette erreur est invoquée (indirectement) par REVENIR_ETAT_INITIAL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SET_ITEM_PROPERTY('B2800.AN_CODE', VISIBLE, PROPERTY_FALSE);
Cette erreur intervient car l'item AN_TYPE n'est pas enabled à l'exécution de cette instruction BIEN QU'il soit passé dans les 2 instructions précédentes.

Remarque :
1/ j'ai ajouté une 3ème instruction qui est un appel à la méthode SYNCHRONIZE mais cela ne change rien.
2/ je ne modifie pas les proprétés des items AN_CODE et AN_TYPE entre KEY-EXIT et REVENIR_ETAT_INITIAL

ATTENTION : je ne demande pas à ce que vous débogguiez mon code car je l'ai fait moi-même mais j'aimerais comprendre le pourquoi du comment.

Merci d'avance.

PS : pour info, la procedure ACTIVE effectue une suite de SET_ITEM_PROPERTY avec PROPERTY_TRUE sur les paramètres ENABLED, VISIBLE, etc.