2009-06-03 4 views
1

Ich habe dieses sehr seltsame Problem auf einer großen Flex-App, wo es gut mit dem Debug-SWF laufen würde, wenn der Benutzer Debug-Flash installiert hat, aber einige Unterschiede für Menschen mit Standard-Version von Flash haben wird.Flex-Debug-Modus Disparitäten, Warum?

Diese Unterschiede sind:

  • Keine Pop-ups

  • lose all Ereignis

  • Sonderbare Positionierung eines Knopfes

ich irgendwo gelesen zu kontrollieren, dass update war anders behandelt? Jetzt werde ich die Exportfreigabe anstelle der bin-debug swf versuchen und zurück in die Commits gehen, um zu sehen, was der Wendepunkt war.

Irgendwelche ähnlichen Erfahrungen?

Antwort

3

Ich verwende Flex seit langem und habe noch nie von Problemen gehört, die mit der Verwendung der Debug-vs-Standardversionen des Flash-Players zusammenhängen, aber ich habe ähnliche Probleme wie bei Ihnen erlebt.

Wenn in Ihrer Anwendung eine Ausnahmebedingung auftritt, z. B. der Versuch, auf ein Objekt in einer Null-Klasse zuzugreifen oder auf Element 10 in einem Array mit nur 9 zuzugreifen, wird im Debug-Fenster ein Fenster angezeigt, dass eine Ausnahme aufgetreten ist geben Sie einen Stack-Trace, auch wenn Sie die App nicht aktiv debuggen. Der Standard-Player nicht, so dass der Benutzer nicht wissen kann, dass etwas schief gelaufen ist.

Nach meiner Erfahrung nach einer nicht abgefangenen Ausnahme kann es alle laufenden Code von diesem Punkt an sehr instabil machen, was alle Probleme verursacht, die Sie auflisten und mehr.

Ich bezweifle, dass dein Problem etwas mit den zwei verschiedenen Spielern zu tun hat, die über den Standard hinausgehen und dir kein Feedback über den Zustand deiner App geben.

+1

Das bedeutet also, dass beim normalen Player ein Fehler auftritt, der beim Debuggen nicht auftritt. Das wird schwer zu verfolgen sein! – coulix

+0

Matts Kommentar ist direkt auf das Geld. Ich habe nie einen Unterschied im Verhalten zwischen einem Debug- und Release-Player der gleichen Version gesehen, außer dass der Stack-Trace-Dialog nicht angezeigt wird, und in Release-Builds, die nach nicht behandelten Ausnahmen funktionieren, scheinen die Dinge einfach nicht mehr zu funktionieren. Mit ziemlicher Sicherheit gibt es irgendwo in Ihrem Code eine unbehandelte Ausnahme, oder Ihre SWFs zielen auf eine Player-Version ab, die neuer ist als die, die auf dem Computer des Benutzers installiert ist. –

+0

Fixed it, es war eine neue Ablaufverfolgung mit Stack-Trace, um die Leitungsnummer des Anrufs zu erhalten! Vielen Dank ! – coulix