Est-il possible d'écouter les événements que les classes lancent lorsqu'elles sont modifiées? J'ai besoin de savoir quand quelque chose (code, variables, etc) change dans certaines classes à partir du navigateur du système.Classes événements en cours de modification, pharo
Répondre
Faites attention depuis Pharo 2.0, il est maintenant un SystemAnnouncer qui émet des annonces. Il n'y a plus SystemChangeNotifier.
est le moyen d'accès. Ensuite, regardez dans le package System-Annonces
Vous pouvez vous inscrire à l'aide
SystemAnnouncer uniqueInstance on: ClassRenamed do: [ doSomething ]
ou
SystemAnnouncer uniqueInstance on: ClassRenamed send: #foo to: anObject
Vous pouvez vous désabonner en
SystemAnnouncer uniqueInstanceunsubscribe: anObject
SystemChangeNotifier uniqueInstance
est l'objet qui gère les événements de changement de système (auquel appartiennent les changements de code et de variables). Jetez un oeil sur les références à SystemChangeNotifier
pour trouver de nombreux exemples d'utilisateurs.
Par exemple, pour être informé de tous les changements (autres méthodes d'enregistrement sont disponibles que seul registre pour un sous-ensemble de modifications):
SystemChangeNotifier uniqueInstance
notify: self ofAllSystemChangesUsing: #systemEvent:
La méthode systemEvent:
est désormais appelé avec les instances des sous-classes de AbstractEvent
représentant tous les changements.
Pour se débarrasser des autres notifications Execute:
SystemChangeNotifier uniqueInstance
noMoreNotificationsFor: self
- 1. tk événements en cours?
- 2. XMPP Smack - Message en cours de modification
- 3. événements non liés au mois en cours
- 4. Événements dans les classes
- 5. Classes pilotées par événements en C#
- 6. Modification du contexte ClassLoader en cours d'exécution
- 7. Pharo: #subclass: instanceVariables ... message personnalisé
- 8. Comment décharger Traits de Pharo
- 9. polices dans pharo manquant
- 10. Pharo grosse erreur?
- 11. Pharo Smalltalk et mySql
- 12. Modification de la langue de NSLocalizedString() en cours d'exécution
- 13. LongListSelector - Modification de la couleur de l'élément sélectionné en cours
- 14. Modification de l'exécution de la méthode en cours d'exécution (Java)
- 15. Modification de l'ordre des événements dans Jquery
- 16. Liaison à l'articleVoir les événements de modification
- 17. NullPointerException lors de l'obtention des événements du mois en cours
- 18. Arrêt d'une modification de champ en cours d'enregistrement en tant que modification d'un objet POCO
- 19. Méthode de modification de classes dans Listview
- 20. Modification/migration de la bibliothèque de classes
- 21. backbone.js un modèle en cours de modification par plusieurs vues?
- 22. Lecture dans un fichier en cours de modification
- 23. Modification de la configuration du courrier électronique en cours d'exécution
- 24. Modification des valeurs d'une table en cours de chargement
- 25. Modification de l'utilisateur en cours dans Rails 3
- 26. JSON est en cours de modification dans mon JavaScript ... pourquoi?
- 27. Propriété en cours de modification dans l'événement CurrentItemChanged
- 28. Comment se référer à l'élément en cours de modification?
- 29. Comment arrêter un éditext en cours de modification
- 30. Modification du volume de l'application en cours exclusivement
Il marchait bien! mais je pense que je devrais "m'abonner" à certains événements particuliers, par exemple, des changements seulement faits à une classe spécifique. cela peut-il être fait? De toute façon, je peux continuer à travailler maintenant, mais je n'aime pas faire des changements inutiles pour chaque modification que je fais à n'importe quelle classe. – Illiax
Notez que la solution ci-dessus fait référence à Pharo 1.3 et plus tôt. –