Flex Tip – Intercepter tous les dispatch d'évènement d'une application Flex (logging, …)
Avant de vous présenter ce "tip", je vais quand même présenter le site sur lequel je l'ai trouvé, qui s'appelle Flex Army kNife:
Un blog que j'ai découvert aujourd'hui (il n'est jamais trop tard) et qui contient quelques perles, notamment sur des sujets assez avancés. Il est tenu par @benzonico et @epascal, des suisses que j'ai pu rencontrer lors de Back From MAX Paris. Ils avouent eux-même que le blog n'est pas souvent mis à jour, faute de temps mais cet article va peut-être les encourager
Le tip du jour est sur cet article:
http://www.flexarmyknife.org/2010/09/logging-all-events-of-flex-application.html?spref=tw
Un petit article qui date de Septembre 2010 mais qui peut vous être utile, notamment lorsque vous faites un debug assez laborieux sur un système très asynchrone. A partir d'une certaine complexité, il est difficile de s'y retrouver et parfois, on aimerait juste mettre un point d'arrêt sur tel et tel type d'évènement.
Le code suivant permet d'ajouter un "hook" et de s'abonner au dispatch de tous les évènements:
import mx.core.mx_internal;
private static function hookDispatchEvent():Boolean
{
UIComponent.mx_internal::dispatchEventHook = logEventHook;
return true;
}
private static function logEventHook( event:Event, uic:UIComponent ):void
{
trace(event.toString()+" event dispatched from "+uic.toString()+ " to "+event.currentTarget);
}
Vous allez ainsi récupérer l'objet Event ainsi que le composant qui a dispatché l'évènement. Pour placer plus stratégiquement votre point d'arrêt, vous pouvez simplement faire un test sur la propriété "type" de l'Event ou sur le type de UIComponent qui a propagé l'évènement.
Flex Builder 4 – Les nouvelles fonctionnalités du debugger de Flex Builder
Dans son blog, Mike Morearty de la Flex Builder Team expose les nouveautés de Flex Builder 4 (FB4). Au programme, de nombreuses améliorations pour le debugger qui vont être très utiles. Adobe Flex Builder 4 n'est pas encore disponibles sur les Adobe Labs mais le sera prochainement. Les personnes ayant assisté à MAX ont eux eu la possibilité de tester la bête.
Voici donc les prochaines fonctionnalités de Flex Builder 4:
Conditional Breakpoints
Lorsque vous êtes en mode debug, vous pouvez fixer des points d'arrêt (breakpoints) afin de voir les valeurs des variables à cet instant (Watch). Supposons que vous ayez un point d'arrêt par lequel votre programme passe des centaines de fois. Flex Builder va automatiquement s'arrêter et donner le focus au Builder. Si vous voulez donc intercepter un cas particulier, il faudrait donc être très patient. Dans Flex Builder 4, vous pourrez fixer des points d'arrêt conditionnel.
Par exemple, Flex Builder va s'arrêter uniquement si une variable "x" est null. Vous pourrez le faire simplement en faisant clic droit sur le point d'arrêt, en allant dans ses propriétés et en ajoutant la condition:

Vous pourrez aussi mettre un compteur. Par exemple si vous indiquer une valeur de compteur de 5, le breakpoint sera actif au bout du 5e passage.





