[R] Emploi de #forceref

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

[R] Emploi de #forceref

#1

Message par aulus »

Bonjour,

A l'intérieur d'une fonction, je déclare une variable-tableau globale, ne pouvant la déclarer en tête de code du fait que je n'en connais pas la taille :

Code : Tout sélectionner

global $tableau[UBound($Base)]
J'obtiens, bien entendu, un warning lorsque je teste mon programme, me conseillant de faire ma déclaration en début de code. Pour éviter ce warning, j'ai codé :

Code : Tout sélectionner

#forceref $tableau
Je ne sais sans doute pas utiliser ce dernier code car le warning ne disparaît pas.

Pourriez-vous me dire comme je dois m'y prendre ? Dois-je bien faire suivre #forceref par le nom de la variable ? Où dois-je placer cette ligne de code ?

Je vous remercie.
Modifié en dernier par aulus le dim. 01 déc. 2013 14:24, modifié 1 fois.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] emploi de #forceref

#2

Message par TT22 »

Salut, plutôt que d'utiliser #forceref en début de script, utilise Global pour un tableau de taille 1 que tu redimensionne dans ta fonction...
► Afficher le texte
Cordialement,
TT22
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [..] emploi de #forceref

#3

Message par aulus »

Merci TT22.

Votre solution est parfaite.

Merci beaucoup.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [R] emploi de #forceref

#4

Message par TT22 »

Heureux de t'avoir aidé :)
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] emploi de #forceref

#5

Message par mikell »

Plus simplement, on déclare la variable en global en tête de script, et dans la fonction on la définit comme tableau en s'appuyant sur les proriétés de Dim
le fichier d'aide a écrit :Dim = Local scope if the variable name doesn't already exist globally (in which case it reuses the global variable!)

Code : Tout sélectionner

Global $foo
_bar()
Msgbox(0,"", UBound($foo))
If IsDeclared("foo") = 1 Then Msgbox(0,"", "$foo est une variable Globale")

Func _bar()
    Dim $foo[42]
    ; etc
EndFunc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [R] emploi de #forceref

#6

Message par aulus »

Impeccable. Merci beaucoup
Répondre