Не могу прослушать UncaughtErrorEvent для SubApplication, загруженного SWFLoader
У меня есть основное Flex-приложение ("A.swf"), загружающее SubApplication (определено в "B.swf") через SWFLoader, и мне нужно прослушивать UncaughtErrorEvent из SubApplication. Я не могу вызвать моих слушателей событий, когда выкидываю ошибку из SubApp ('B.swf').
После прочтения asDoc для UncaughtErrorEvent и UncaughtErrorEvents я добавил прослушиватель событий в loaderInfo A.swf (основное приложение 'outter'), а также в loaderInfo B.swf (хотя в документах сказано не делать этого, он является частью события). последовательность в фазе захвата и всплытия...), а также внутренний FlexLoader.uncaughtErrorEvent SWFLoader (для документов), например, так:
swfLoader.content.loaderInfo.loader.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorFunction );
Настройка прослушивателя событий в Loader.uncaughtErrorEvents не запускается, когда SubApplication в B.swf выдает ошибку. Вместо этого срабатывает прослушиватель в loaderInfo основного приложения (A.swf). Более того, событие, полученное из loaderInfo A.swf, имеет фазу события, равную 'EventPhase.AT_TARGET', которую, как говорит asDoc, следует отправлять только в фазах захвата и всплытия.
Я не делаю это правильно? Есть мысли или предложения?
"A.swf" и "B.swf" скомпилированы с помощью Flex SDK 4.1, Flash Player 10.1. Браузер FireFox работает под управлением Flash Player отладки 10.3
Спасибо!
2 ответа
Я обнаружил, что установка библиотек SDK для слияния с кодом как для A.swf, так и для B.swf позволяет UnCaughtErrorEvents отправлять сообщения правильным образом.
Он не отправляется при использовании Flex-приложений на основе MX с библиотеками SDK, связанными через Shared Runtime Libraries (по умолчанию в Flash Builder).
Более того, он также будет работать с чистыми приложениями SPARK Flex с RSL или объединен в код.
Смотрите обсуждение здесь: http://forums.adobe.com/message/3835326
Отправлено сообщение об ошибке Flex здесь: http://bugs.adobe.com/jira/browse/SDK-30996 Примеры см. В приложениях к представленной ошибке.
Посмотрите сообщение в блоге Алекса Харуи, которое должно работать. http://blogs.adobe.com/aharui/2011/04/catching-uncaughterror-in-flex-modules.html