Page 1 sur 1

[R] Extraire une variable d'une fonction

Posté : mer. 06 mai 2015 19:12
par parazitenew
Bonjour,

ça faisait une éternité :D

Je travaille sur une nouvelle version d'un de mes programmes. J'ai rajouté un treeview qui explore un répertoire donné et affiche les fichiers .ini que j'utilise. J'ai ajouté aussi un WM_NOTIFY pour gérer le double clique sur un item du treeview. À ce moment là, le double clique capte le chemin d'accès du .ini, le stock dans une variable $path et lance sa lecture pour être affiché dans une listview.

Seulement voilà, cette partie se passe à l'intérieur de la fonction wm_notify, car on ne peut pas appeler une fonction depuis l'intérieur d'une autre fonction. Mais sur ma GUI j'ai un bouton pour exporter le contenu de la listview dans un document word, alors le script devra utiliser le chemin d'accès capté par le double clique (Donc celui déclaré dans la variable $path). Or la aussi ça coince, une variable dans une fonction (dans mon cas c'est le wm_notify) n'est déclaré que localement et est détruite à la fin de la fonction. J'ai essayé de déclarer le $path avec un Global mais ça ne fonctionne pas (Variable used without being declared).

Y aurait-il un moyen de tricher pour réutiliser la variable en dehors de la fonction?

Merci.

Re: [..] Extraire une variable d'une fonction

Posté : mer. 06 mai 2015 19:17
par jchd
Seulement voilà, cette partie se passe à l'intérieur de la fonction wm_notify, car on ne peut pas appeler une fonction depuis l'intérieur d'une autre fonction.
Rien n'est plus faux.
J'ai essayé de déclarer le $path avec un Global mais ça ne fonctionne pas (Variable used without being declared).
Probablement parce que la déclaration se trouve après la première utilisation.

Re: [..] Extraire une variable d'une fonction

Posté : mer. 06 mai 2015 19:49
par mikell
Il est gentil jc sur le coup, ce que tu as dit est pour le moins surprenant de la part de quelqu'un qui a 213 messages au compteur :mrgreen:
Tu as bien déclaré 'Global $path' en tête de script ?

Re: [..] Extraire une variable d'une fonction

Posté : mer. 06 mai 2015 20:39
par parazitenew
J'ai pu régler le problème du $path; avec un Global, pourtant j'avais essayé mais je crois qu'il y avait un autre $path quelque part plus haut, je m'approche des 3000 lignes donc je m'y perds un peu :oops: mais maintenant j'ai un nouveau problème qui est apparu, lors de l'exportation dans un .doc, le programme lit que des "0" de la listview au lieu des valeurs affichées.

Code : Tout sélectionner

_WordDocFindReplace($doc,"$carac2",ControlListView("Titre", "", $lv1, "GetText",1,1),1,0,0,1)
ça marche avec l'ancienne version du programme, mais avec la nouvelle ça ne lit que des 0. J'ai du boulot devant moi.

à bientôt.