- Si le listener n'a jamais été lancé depuis l'ouverture du classeur : le message "Erreur : il n'y a pas de Listener à arrêter" est affiché, fonctionnement OK
- Si le listener a été lancé : le message "Listener a été arrêté" est affiché, fonctionnement OK
- Si le listener a déjà été arrêté : le message "Erreur : il n'y a pas de Listener à arrêter" devrait s'afficher, ce qui n'est pas le cas, bien que le listener soit arrêté (j'ai vérifié, il n'est plus en service). le "On error GoTo" n'est pas déclenché.
Je peux trouver des solutions de contournement (par exemple désactiver le bouton "ARRETER LISTENER" au premier clic), mais j'aimerai comprendre pourquoi le code prévu (qui correspond à tous les exemples que j'ai vus) ne fonctionne pas.
Si quelqu'un peut m'aider dans ma recherche, merci
Code : Tout sélectionner
Sub main
CreerListener
End sub
Sub CreerListener
monClasseurControleur = ThisComponent.currentController
MonListener = createUnoListener("Test_", "com.sun.star.awt.XMouseClickHandler")
monClasseurControleur.addMouseClickHandler(MonListener)
End Sub
Function Test_mousePressed(MonEvenement) As Boolean
Test_mousePressed = false
‘ faire quelquechose ici
End Function
Function Test_mouseReleased(MonEvenement) As Boolean
Test_mouseReleased = False
' Ajouter ici "quelque chose"
End Function
Sub Test_disposing(MonEvenement)
'ici : rien
End Sub
Sub ArreterListener
On Error GoTo ErreurPasDeListener
monClasseurControleur.removeMouseClickHandler(MonListener)
msgBox "Listener a été arrêté"
GoTo FinArreterListener
ErreurPasDeListener:
MsgBox "Erreur : il n'y a pas de Listener à arrêter"
FinArreterListener:
End Sub