Приложение Flex не работает без отладочной версии Flash Player - PullRequest
0 голосов
/ 16 июля 2009

Недавно, когда я попытался показать результаты своей работы (какое-то приложение Flex) своему боссу, я был очень удивлен, что приложение, которое отлично работает на моем компьютере, на компьютере моего босса не отображалось должным образом ( единственной видимой вещью был серый фон по умолчанию). После трехчасовых попыток абсолютно всего, наконец, приложение появилось, когда я сменил его версию Flash Player со стандартной на отладочную (обе версии v. 10.0.22.87). Кто-нибудь знает, что может быть причиной этого (любой флаг компилятора или STH). Заставить моего босса установить отладочную FP было вполне нормально, но заставить конечного пользователя приложения сделать это недопустимо.

Спасибо

PS: Показывая, я имею в виду развертывание Tomcat на моем компьютере и предоставление моему боссу ссылки на приложение. Мы оба используем Win XP. Также, когда я установил отладочную FP для браузеров Netscape и стандартную FP для IE (на моем компьютере), результат был тот же - работа в Firefox, Opera, Chrome и сером фоне в IE. Я скомпилировал как Debug и Release. Я использую Flash Develop 3.0.2 RTM

После очистки моего приложения до такого состояния - оно все еще работает только в отладочной FP

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:ca="components.*"
    xmlns:ea="components.editAreas.*"
    layout="vertical"
    backgroundColor="black">

    <mx:Canvas id="header"
        verticalScrollPolicy="off"
        horizontalScrollPolicy="off"
        styleName="header"
        width="100%"></mx:Canvas>

    <mx:Canvas id="mainContent"
        width="100%" height="100%"
        verticalScrollPolicy="off">
    </mx:Canvas>

</mx:Application>

Ответы [ 4 ]

5 голосов
/ 16 июля 2009

С такой же проблемой я столкнулся несколько дней назад.

Я использовал следующий код

// Вызов функции traceDetails (новая ошибка ())

приватная функция traceDetails (ошибка: ошибка): пусто { err.getStackTrace () } С моей стороны я использовал метод "getStackTrace ()". Здесь нужно помнить, что метод getStackTrace () доступен только с Flash Debugger и не с Flash player . Поэтому везде, где у меня не установлен Flash Debugger, мое приложение перестает работать.

Что делать 1. Проверьте, используете ли Вы какой-либо вызов API, который доступен только во Flash Debugger, а не в Flash Player (если Вы нашли, прокомментируйте эту строку, приложение запустится). 2. Обходите установку версии Flash Debugger везде, где вы запускаете приложение, или просто перед вызовом API Flash Debugger. Проверьте, только (Capabilities.isDebugger) только затем используют этот API или пропустите эти строки.

Я уверен, что это решит вашу проблему

Happy Coding:)

0 голосов
/ 02 октября 2009

Я согласен с Кристианом. Это связано с политиками безопасности стандартного флэш-плеера. После удаления / исправления класса FlexSprite, который вызвал функцию getStackTrace (), приложение теперь работает нормально. Спасибо за помощь. surfined

0 голосов
/ 16 июля 2009

Это пахнет проблемой безопасности для меня; отладчик применяет меньше политик безопасности, чем стандартный проигрыватель, и ваше упоминание о Tomcat и этих ссылках на пространства имен говорит о том, что здесь происходит что-то связанное с безопасностью.

Для чего используются компоненты. * И components.editAreas. *? Вы пытаетесь загрузить и получить доступ к каким-либо двоичным данным в вашем приложении? Не могли бы вы опубликовать немного больше кода? Потому что то, что вы разместили здесь, довольно безобидно. Может быть проще помочь с более подробной информацией, но, опять же, вы, скорее всего, столкнетесь где-то с ограничениями безопасности.

0 голосов
/ 16 июля 2009

Только некоторые предложения ...

  • Убедитесь, что вы развертываете релиз строить.
  • После этого вы можете захотеть удалить кеш браузера - я часто наши пользователи делают это после выпуска, так как он будет иногда загружать старую версию после выпуска там.
  • Вы используете модули? Ты возможно ссылка на модуль отладки?
  • Проверьте ваши пути, определенные в аргументы компилятора проекта, а а также пути любых модулей, которые вы может быть, используя. Можете ли вы предоставить нам свои аргументы компилятора?
  • Вы и ваш начальник используете одну и ту же версию I.E.?
  • Вы изменили файл index.html для ссылки на другой SWF?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...