Message de rapport:
 

[Résolu] Tester l'existence d'une variable

Sujet: [Résolu] Tester l'existence d'une variable
par LeBattosai sur 8/2/2007 18:36:08

Bonjour à tous

Mon problème est le suivant :

Je dispose de trois etats : PEM, PER et Stat. PEM et PER sont fort semblables mais suffisament differents pour necessiter deux etats distincts.
Je dois réunir dans deux nouveaux etats appellés PEMStat et PERStat, respectivement les etats PEM, Stat et PER, Stat.
Pour y parvenir, j'ai donc crée deux etats principaux appelant chacun deux etats secondaires (PEM ou PER) et Stat. Jusque la aucun probleme.
Mon probleme est que j'ai besoin d'une variable d'entree pour l'etat Stat. Je crée donc une variable globale dans les etats PEMStat et PERStat, ce qui me permet de la recupere dans l'etat Stat. Malheureusement, je ne sais pas comment faire pour savoir si cette variable vient de PEMStat ou de PERStat puisque la methode pour recuperer une variable globale dans un etat secondaire consiste en :
<nom_etat_appelant>.<nom_variable>
Donc soit j'appelle PEMStat.Numero soit PERStat.Numero dans la partie ouverture de l'etat Stat.
Malheuresement si je place les deux; lorsqu'il tombera sur celui qui ne correspond pas, une exception se lance, interrompant donc tout autre programme.

Les deux solutions que j'ai envisagé mais que je n'ai pas trouvé sont les suivantes :
1) Avoir une fonction qui permet de déterminer l'existence d'une variable, passant donc outre le probleme de l'exception
2) Ou Pouvoir identifier l'etat appelant. Donc savoir si c'est PEMStat ou PERStat qui a lance l'etat Stat. Donc je pourrais savoir quelle variable je dois aller chercher.


Si quelqu'un pouvait m'aider a résoudre ce probleme en m'indiquant comment executer l'une de mes deux solutions ou en m'en fournissant une autre, je lui serait très reconnaissant.

Merci d'avance
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2