rol64
Messages postés33Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention28 novembre 2011
-
10 juil. 2009 à 10:26
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
10 juil. 2009 à 13:31
Bonjour,
Je rencontre un problème dans ce bout de code:Dim itab As Integer<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Dim tableau(100000) As Long
Private Sub Timer1_Timer()
GetCursorPos mousePT 'Récupère les coordonnées du curseur dans la structure mousePT
tableau(i_Timer) = WindowFromPoint(mousePT.X, mousePT.Y) 'enregistre le handle
i_Timer = i_Timer + 1
Label5.Caption = i_Timer
Label6.Caption = tableau(i_Timer)
End Sub
La valeur affichée dans label 6 est toujours '0'.
Si je remplace le tableau par une variable simple ca m'affiche bien un handle....
Quelqu'un pourrait me dire pourquoi je ne peux pas enregistrer de valeur dans un tableau à la fréquence du timer?
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 10 juil. 2009 à 11:17
Salut,
C'est tout à fait logique :
GetCursorPos mousePT
tableau(i_Timer) = WindowFromPoint(mousePT.X, mousePT.Y) 'enregistre le handle
'Au dessus = i_Timer = 0
'Tableau(0) = Valeur <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
rol64
Messages postés33Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention28 novembre 2011 10 juil. 2009 à 10:43
Salut et Merci pour ta réponse!
En fait i_Timer est déjà déclarée (c'est juste que je n'ai pas mis tout le code).
Je l'ai initialisé à 0 au chargement de la feuille.
Ca reste pareil!
"C'est tout à fait logique" --> Je dirais même que c'est tellement logique que je ne l'ai pas vu!!!!!
Forcément si je lui demande de m'afficher la valeur du tableau pour i_Timer, vu que i_Timer est incrémenté toute les 1ms j'ai pas le temps de voir la valeur enregistrée pour i_timer-1!!!
Merci beaucoup!!!!!
a+
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 10 juil. 2009 à 13:31
Heu....
En fait ou il y a cela aussi, tu dois utiliser la méthode Refresh de ton label si l'interval de ton timer ne laisse pas le temps à celui-ci de se rafrachir.
Ce que je voulais surtout dire à la base c'est que tu apelle
Label6.Caption = tableau(i_Timer)
Et non
Label6.Caption = tableau(i_Timer - 1)
Voila d'ou vien l'erreur...
sinon incrémente toujours en début ou en fin de méthode mais jamais en plein milieu.
++
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <