Après migration de notre projet principal de WD16 en WD19 nous rencontrons des régressions inquiètante dans les états comportant des sous-états.
Après de longue recherche, il apparait que l'appel à la fonction iFinEtat() dans un sous état appelle le BLOC_FIN de l'état principal pour ensuite reprendre le cours de l’exécution de l'état principal.
Ce phénomène apparait uniquement si l’option de position du BLOC_FIN est <A LA PLACE du bloc «Pied de page » >
La conséquence c'est que le code du BLOC_FIN s'exécute à un moment inattendu cassant la logique de l'état.
Avez-vous rencontré ce problème ?
Protocole de reproduction :
Concevoir un état appelant un sous état dans son BLOC_CORPS
appeler iFenEtat() dans le sous-état
Paramétrer le BLOC_FIN pour qu’il s’imprime à la place du BLOC_PIED (sinon pas de problème)
constater que le BLOC_FIN de l'état s'exécute puis le code reprend dans le BLOC_CORPS de l'état principal.
ci-joint un projet un projet WINDEV 16 mettant en évidence le problème après compilation en WINDEV 19
L’exemple est très simple (le code après impression du bloc CORPS ne s’exécute plus au bon moment)
Partager