2010-09-25 7 views
1

J'ai cherché la solution à mon problème sur SO, Google et Bing, mais en vain.Funky SWF problème de chargement dans Flash CS5 avec AS3

NB Ceci concerne AS3/CS5 sous Windows 7 Pro x64.

J'ai un fichier SWF qui charge un autre fichier SWF dans AS3.

Hier matin, ça marchait bien. Puis j'ai fait un tas de changements à un autre SWF, complètement séparé, et à quelques fichiers de contenu XML et la prochaine fois que j'ai couru le projet, le second SWF a commencé à clignoter et faire défiler son contenu une fois chargé par le premier SWF.

Je ne pouvais pas comprendre ce que j'ai fait pour causer le problème et n'ai aucune idée!

J'ai perdu une journée entière de travail pour ce qui aurait dû prendre seulement 10 minutes. Le fichier SWF de chargement charge le problème Les instructions SWF et trace dans la classe de document pour le chargement SWF s'exécutent correctement, mais il n'apparaît pas que le constructeur de classe de document du second SWF est exécuté car aucune instruction trace n'y figure. en cours d'exécution.

J'ai eu le même problème le jeudi et il s'est avéré être une erreur de syntaxe dans une classe pertinente pour le deuxième SWF et cela a été rapidement résolu.

Cependant, AUCUN code correspondant au problème SWF n'a été modifié cette fois-ci et le problème SWF compile bien avec le mode strict activé.

J'ai copié le code de mon ordinateur portable (Windows 7 Pro 32bit) où j'ai vérifié que tout fonctionne bien et j'ai eu le même problème une fois sur mon PC de développement.

Je ne me souviens pas de changer quoi que ce soit à mon environnement de développement PC Flash/Actionscript et je veux arracher les cheveux que je n'ai pas !!!

Pour l'instant, je travaille sur mon ordinateur portable, mais ce n'est pas une solution permanente.

Est-ce que quelqu'un sait comment je peux systématiquement traquer ce problème ??? Je commence à regretter d'avoir déjà utilisé Flash/AS3; il n'est tout simplement pas possible d'exécuter un diff sur tout l'environnement de développement et de savoir exactement ce qui ne va pas.

Je ne vois rien dans les journaux d'événements Windows. Y a-t-il des journaux Flash que je pourrais examiner? Jusqu'à présent, je n'ai rien trouvé et maudire le jour où j'ai regardé Flash.

Des idées?

Merci! Chris

+0

Le comportement que vous avez défini avec le deuxième SWF indique une erreur dans ce fichier, vous devez essayer de recompiler ce second SWF sur le sien et voir s'il y a des erreurs. – Aaron

+0

Relecture de votre question, vous pouvez déclencher une erreur d'exécution dans SWF 2. – Aaron

+0

Merci Tegeril pour votre réponse. Oui, j'ai essayé à peu près toutes les permutations de compilation avec le second fichier, cela ne fait aucune différence. –

Répondre

1

Étant donné que vous déclarez que le deuxième fichier SWF ne prend pas en compte la classe de document, vous devez pouvoir reproduire l'erreur en créant un test de base swf avec une classe de document.

Parfois, revenir à l'essentiel peut être une bonne approche pour résoudre les problèmes ...

Si vous n'êtes pas en mesure de reproduire l'erreur avec un fichier SWF de base, cela indiquerait une erreur dans votre deuxième SWF.Si le système est si vaste, il serait logique de le décomposer en composants plus petits, cela aiderait à identifier le problème et probablement à créer une meilleure structure.

Si vous pouvez reproduire l'erreur, alors je suggère de regarder ... réinstallant

+0

Merci @PatrickS. Le premier SWF compile bien, même si je devrais essayer de compiler le second SWF avec une classe de base, vous avez raison. J'espère que je n'ai pas besoin de ré-installer car ce problème pourrait se reproduire. J'ai supprimé mon commentaire Flasm car il semble inutile dans mon cas. Je suppose que je pourrais comprendre quel est le problème si je pouvais démonter le fichier. Ah, je voudrais rester loin du monde Flash. –

+0

Ainsi, il n'ignore pas (apparemment) une classe de document à peu près vide lors de la compilation. J'ai ensuite ajouté tout le code dans la classe de document, mais je l'ai laissé avec le nouveau nom de classe temporaire et il a attrapé une erreur de syntaxe que j'ai mise et le problème clignotant/défilant est apparu à nouveau. Cependant, avant d'ignorer le problème d'erreur de syntaxe. Je suis un peu en avance. Je ne veux pas réinstaller parce que je serai de retour à la case départ si ce problème réapparaît. –

+0

Votre environnement semble avoir passé le test de base, donc je ne m'inquiéterais pas de la réinstaller pour le moment. Cela ne ressemble pas à un problème aléatoire. Bien qu'il ne soit pas encore logique de savoir pourquoi votre application fonctionnerait sur une plate-forme et pas sur une autre, le fait que vous puissiez reproduire l'erreur dans un nouveau swf indiquerait que l'erreur se trouve dans le code et non dans votre environnement. Serait-il possible de casser votre code en composants plus petits? – PatrickS