2010-11-03 12 views
0

Je me demandais s'il était possible d'utiliser une boucle for (ou pour chaque) pour tracer les propriétés d'un événement dans la fenêtre de sortie. Je sais que je peux suivre l'événement en une seule fois, comme ceci:Flash AS Propriétés de l'événement: Possible de les tracer avec une boucle for?

function myFunct (evt:IOErrorEvent):void 
{ 
    trace(evt); 
} 

Malheureusement, cela devient un peu fou à lire dans certaines situations, comme un long chemin d'URL, donc je voudrais reformater un peu à montre chaque propriété sur sa propre ligne, quelque chose comme ceci:

function URLLoader_IOError (evt:IOErrorEvent):void 
{ 
    for each(var prop in evt) 
    { 
     trace(prop) 
    } 
} 

Bien sûr, cet exemple ne montre rien dans la fenêtre de sortie. Est-ce que j'ai manqué quelque chose dans la fonction ou est-ce que ce n'est pas faisable?

Merci!

Répondre

1

Je vous suggère de trouver les propriétés nommées que vous voulez tracer et de les tracer spécifiquement. Les propriétés qui seraient utiles sont errorId, text et type. Peut-être aussi eventPhase. Au fur et à mesure que votre code est affiché, vous allez essayer de convertir des objets en représentations de chaînes. Qu'est-ce que trace est censé faire avec la propriété currentTarget, par exemple? Et vous souciez-vous vraiment de la propriété bubbles de IOErrorEvent? Ou «constructeur»?

Alternativement, vous pouvez faire beaucoup de tests dans votre boucle pour déterminer le type de type de données que vous traitez, et convertir certaines de ses propriétés en chaînes pour le traçage, mais à la fin de la journée, vous aurez devez toujours utiliser le débogueur pour examiner les objets en profondeur.

+0

Je suis d'accord avec vous sur la nécessité et les points EOD. J'étais juste curieux de savoir s'il était possible de rendre la sortie un peu plus accessible au novice dans les situations d'entraînement. Si ce n'est pas un quickie similaire à ci-dessus, alors le temps serait mieux passé à leur montrer comment lire la trace de l'événement brut de toute façon. Merci! – Eric