Page 1 sur 1

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

Posté : lun. 17 sept. 2018 09:28
par jpascal
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 ?

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

Posté : lun. 17 sept. 2018 10:48
par mikell
ç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

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

Posté : lun. 17 sept. 2018 10:56
par jpascal
Mais cette ligne $iIDFrom = BitAND($wParam, 0xFFFF) n'est pas considérée comme un calcul ?

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

Posté : lun. 17 sept. 2018 11:00
par mikell
Faut croire que non :mrgreen:
Utilise #forceref sur la variable après l'assignation

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

Posté : lun. 17 sept. 2018 13:12
par jchd
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à ?"

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

Posté : jeu. 20 sept. 2018 12:28
par jpascal
Merci pour vos réponses claires et précises. :-)