PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → etats imbriques
etats imbriques
Débuté par M.R., 15 juin 2005 12:16 - 1 réponse
Posté le 15 juin 2005 - 12:16
Bonjour,

j'ai un état que j'appelerai Etat1, qui reçoit deux paramètres obligatoires.
Dans cet état, j'ai inséré un état imbriqué que j'appelerai Etat2, qui a besoin d'un paramètre.
Or il n'est pas alimenté par une requête, mais par du code. Donc dans la doc il est bien recommandé dans ce cas d'utiliser une variable globale pour lui passer son paramètre.
Je l'initialise tout de même dans la partie de code "avant impression" du corps de l'Etat1
avec iInitRequeteEtat(Etat2) puisque je veux qu'il s'affiche dans le corps de l'Etat1.

Lorsque je teste l'Etat1 (touche F9 dans webdev), ça fonctionne bien.
Mais lorsque je teste le projet complet, j'ai une erreur systématique, l'appli bloque sur iImprimePDF(Etat1, param1,param2) avec le message d'erreur: l'état Etat2 attendait 0 paramètres et en a reçu 2...

J'ai fait des tests avec iImprimeEtat(Etat2), c'est pareil.

je n'y comprends rien... qq a-t-il une idée?
Posté le 16 juin 2005 - 11:43
ça devient une habitude, je me réponds à moi-même :) ... mais peut-être cela servira-t-il à quelqu'un.

La solution que j'ai trouvée (non documentée donc sujette à caution) et que l'état imbriqué hérite visiblement des paramètres de l'état parent.
Donc en spécifiant dans sa déclaration les 2 même paramètres que l'état parent (Etat1), et en faisant un iInitRequeteEtat(Etat2) sans spécifier les paramètres dans la section "Avant impression" du corps d'Etat1, ça marche parfaitement... ça tombe bien parce que le paramètre qui m'intéressait était effectivement passé à l'état parent (et c'est le cas la plupart du temps je pense).

Reste à espérer que ce n'est pas un effet de bord, mais bien une fonctionnalité non documentée... si un modérateur ou un développeur pouvait confirmer ;)
(je précise que je suis en version 90033t+)