[R] Extraire une variable d'une fonction

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

[R] Extraire une variable d'une fonction

#1

Message 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.
Modifié en dernier par parazitenew le mer. 06 mai 2015 20:40, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#2

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#3

Message 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 ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

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

#4

Message 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.
Répondre