Bonjour à tous,
j'ai un problème que je résous pas, j'aurais besoin d'un peu de conseil.
J'essaie de trouver le moyen de passer un liste de paramètres à la fonction Execute()
J'ai une classe qui s'occupe de procédures et paramètres d'une fenêtre. Je peux créer un menu dynamique, sur bouton, contenant des actions (autres que Nouveau, Modifier , Supprimer). Tout fonctionne sauf quand j'essaie d'éxecuter une requête avec plus de 2 params.
Quelque part dans le code, j'ai une méthode qui ajoute un option à un menu avec paramètre le nom unique de l'action.
Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Ajoute l'action dans le GUI de la fenêtre, SI MenuExiste(m_cFenetre..Nom+".Menu_action","OPT_"+m_sGUI) = Vrai ALORS _trace("actAjoute :: Le menu m_sGUI existe déjà.") SINON MenuAjouteOption(m_cFenetre..Nom+".Menu_action","OPT_"+m_sGUI,m_sNomAction,"Action_Lance",m_sGUI) FIN
Action_Lance est un procédure locale dans chaque fenêtre qui se positionne sur le bon objet pour appeller la méthode qui s'occupe de lancer la procédure.
Je pensais ajouter la liste des paramètres dans un tableau de chaque objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 //gtaAction : Tableau //p_SGUI Nom unique //clAction : objet gtaAction[p_sGUI].clAction:actLance()
Une fois que les paramètres sont sauvegardés dans un tableau, comment la passer à la fonction Execute() sans avoir à utiliser N variables pour avoir une lignes du genre ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 PROCEDURE paramajoute(*) SI MesParamètres..NbReus = 0 ALORS RENVOYER Faux FIN POUR i = 1 _A_ MesParamètres..NbReus :m_pstParam = :_paramInit() :m_pstParam.vValeur = MesParamètres[i] TableauAjoute(:m_tabParam,:m_pstParam) FIN RENVOYER Vrai
Je bloque vraiment à ce points, j'ai songé à ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Execute(sProcedure,vparam1,vparam2,vparam3,vparam4,vparam5,...)
Passer MesParamètres, mais il faudrait passer les mêmes paramètres qu'on a précédemment enregistrés.
Exécuter une méthode dans chaque procédure pour récupéré les paramètres; les procédures ne pourrons plus être appelées sans l'objet.
J'aurais besoin d'autres idées,
Merci
Partager