[R] $iIDFrom: declared, but not used in func

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jpascal
Niveau 4
Niveau 4
Messages : 94
Enregistré le : jeu. 16 oct. 2008 15:21
Status : Hors ligne

[R] $iIDFrom: declared, but not used in func

#1

Message par jpascal » lun. 17 sept. 2018 08:28

Lorsque je lance AU3Check avec les paramètres -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7, j'obtiens à chaque fois cet avertissement avec les fonctions WM_COMMAND(), WM_NOTIFY(), etc... :
warning: $iIDFrom: declared, but not used in func.
Local $hWndFrom, $iIDFrom,
~~~~~~~~~~~~~~~~~~~~~~~~~^
Pourtant la variable $iIDFrom est bien utilisée. :x

Code : Tout sélectionner

Func WM_COMMAND($hwnd, $iMsg, $wParam, $lParam)
	#forceref $hwnd, $iMsg
	Local $hWndFrom, $iIDFrom, $iCode
	$hWndFrom = $lParam
	$iIDFrom = BitAND($wParam, 0xFFFF) ; Low Word
	$iCode = BitShift($wParam, 16) ; Hi Word
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
Sauriez-vous pourquoi et connaitriez-vous un moyen de ne pas afficher cet avertissement ?
Modifié en dernier par jpascal le jeu. 20 sept. 2018 11:28, modifié 1 fois.
AutoIt 3.3.14.5 / SciTE 3.7.3 / Windows 7 & 10 x64

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5737
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] $iIDFrom: declared, but not used in func

#2

Message par mikell » lun. 17 sept. 2018 09:48

ça se produit quand la variable est déclarée, qu'elle a une valeur assignée, mais qu'elle n'est pas utilisée ensuite dans la fonction (pour effectuer un calcul ou autre). Dans ce cas on peut utiliser #forceref sur la variable après l'assignation
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

jpascal
Niveau 4
Niveau 4
Messages : 94
Enregistré le : jeu. 16 oct. 2008 15:21
Status : Hors ligne

Re: [..] $iIDFrom: declared, but not used in func

#3

Message par jpascal » lun. 17 sept. 2018 09:56

Mais cette ligne $iIDFrom = BitAND($wParam, 0xFFFF) n'est pas considérée comme un calcul ?
AutoIt 3.3.14.5 / SciTE 3.7.3 / Windows 7 & 10 x64

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5737
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] $iIDFrom: declared, but not used in func

#4

Message par mikell » lun. 17 sept. 2018 10:00

Faut croire que non :mrgreen:
Utilise #forceref sur la variable après l'assignation
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 1991
Enregistré le : lun. 30 mars 2009 21:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] $iIDFrom: declared, but not used in func

#5

Message par jchd » lun. 17 sept. 2018 12:12

Si l'on réalise un calcul comme dans la ligne en cause et qu'on n'emploie jamais le résultat, autant ne pas effectuer ce calcul.
C'est le sens de cet avertissement.

Dans le corps d'une fonction de gestion de stock, je m'amuse à calculer la vitesse de libération de la planète Vénus mais je n'emploie pas ce résultat, ne le communique nulle part et m'empresse de l'oublier. Au3Check est assez sympa pour me dire "Dis voir, t'es vraiment certain que c'est utile ton truc, là ?"
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.

jpascal
Niveau 4
Niveau 4
Messages : 94
Enregistré le : jeu. 16 oct. 2008 15:21
Status : Hors ligne

Re: [..] $iIDFrom: declared, but not used in func

#6

Message par jpascal » jeu. 20 sept. 2018 11:28

Merci pour vos réponses claires et précises. :-)
AutoIt 3.3.14.5 / SciTE 3.7.3 / Windows 7 & 10 x64

Répondre