-
Bug OnMouseMouse D7 ?
Bonjour à tous;
Je suis confronté à un problème avec mon delphi 7 : OnMouseMouse se produit en boucle tant que le curseur reste sur le composant (et ce, quelque soit le composant ou la form) et pas uniquement lorsque le curseur bouge. :?
Me confirmez vous que ce n'est pas le comportement normal ? Quelqu'un a t'il déjà été confronté au problème ? J'utilise Vista depuis maintenant 18 moi et suis plutot étonné de ne m'en être pas rendu compte plus tôt si cela est dut au système...
merci par avance pour vos retour d'expérience... ;)
-
hum...
Je doute qu'il existe un évènement OnMouseMouse, OnMouseMove plutot peut être? auquel cas il est effectivement étrange que l'évènement soit déclenché sans que le curseur ne bouge
-
salut ; OnMouseMouse !!!! onMousemove ; avec votre code l'erreur ça serai plus clair " merci de poster votre code" ;)
-
En effet, je parlais de OnMouseMove, ou plutot de la procedure MouseMove. :oops:
A vrai dire je ne sais pas depuis combien de temps le probleme se pose : je suis sous vista depuis un moment, par contre j'ai installé /desinstallé la suite de composants Jedi (Jcl & Jvcl) hier soir, mais je serais très étonné que cela puisse être dut à ça.... :roll:
Concernant mon code, cela arrive même sur une procedure très simple comme la suivante :
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Form1.Caption := Form1.Caption + '+';
end;
Et donc, lorsque que je bouge le curseur tout est normal, mais lorsque je ne le bouge pas, je reçoit quand même un Message MouseMove par seconde environ !:calim2:
-
Dans un premier temps, essaie d'afficher les coordonnées de la souris à chaque MouseMove.
-
:salut:
non ce n'est pas un bug de delphi7.
tu as le même souci sous d'autres environnement de développement.
c'est un "problème" connu avec le message WM_MOUSEMOVE de l'os, une recherche sur le net te permettra de t'en convaincre.
la solution communément adoptée consiste à sauvegarde la position X,Y du curseur à chaque appel, et de la comparer à la suivante afin de déterminer si le la souris a vraiment bougé.
-
C'est bien la solution que j'ai adoptée...
Une question me taraude tout de même : cela signifie t'il qu'un programme développé sans que ce bug apparaisse (sous XP par exemple) risque de poser problème pour quelqu'un qui l'installera sous Vista ?
D'autre part, pensez vous ce bug soit apparu sur ma machine depuis l'installation de vista ? : si tel est le cas, je suis très étonné de ne pas y a voir été confronté plus tôt...