Bonjour à tous.
Je suis en train d'essayer de résoudre un problème de mouvement interactif.
J'ai une image. Dans les événements de cette image j'ai défini des actions à faire lorsque j'appuie sur le bouton de ma souris (MouseDown), lorsque je la bouge (MouseMove) et lorsque je lâche le bouton (MouseUp).
Mon problème est que les événements sont trop rapidement détectés avant que j'aie fini mon boulot. Par exemple, un événement MouseMove intervient qui déclenche un bout de code, et avant que j'aie terminé ce code, un deuxième événement MouseMove se déclenche. Je voudrais bien avoir la paix tant que mon code n'est pas terminé ...
Ce n'est qu'un exemple parmi d'autres. En fait tout se mélange parce que mes événements continuent à arriver pendant que je traite les précédents, alors que je voudrais bien en faire abstraction pendant ce temps (c'est-à-dire les négliger complètement, comme s'ils n'avaient pas lieu du tout). Ce n'est pas facile à gérer : par exemple, je pourrais décider d'enregistrer dans une variable l'état dans lequel je me trouve et tester cette variable à chaque événement pour savoir si j'ai le droit de prendre la main : si oui, je donnerai à cette variable une valeur qui interdira à tout autre événement d'intervenir. Mais le problème est que je dois prévoir le cas où deux événements simultanés feraient le test en même temps et croiraient tous deux avoir le droit d'agir !!! On n'en sort pas.
Existe-t-il un moyen de bloquer l'accès à une variable. Si oui, je serai sauvé. Même si deux événements tentent de bloquer simultanément la même variable, seul l'un d'entre eux y parviendra.
Merci pour toute suggestion.
Titre modifié par Greybird
Ecrire en majuscules, c'est CRIER. Impoli donc.
Partager