Обезьяна патч Flex Framework при загрузке в виде RSL?
Я хочу загрузить гибкий фреймворк как RSL (SWZ, используя кеширование игроков), но мне нужно обезьяна исправить пару исправлений ошибок в фреймворке.
Ряд форумов предполагают, что это невозможно. Кто-нибудь получил это на работу?
5 ответов
То же самое, что и в другом ответе на использование frame1, но у Джеймса Уорда есть код для просмотра: http://www.jamesward.com/blog/2009/03/10/flex-monkey-patching-and-framework-rsls/
Я полагаю, что только подписанные Adobe библиотеки могут воспользоваться механизмами кеширования проигрывателей междоменных имен. Так как ваш не будет, это не может.
Должна быть возможность создать RSL, который не использует преимущества кэширования игрока. Это может быть полезно, если у вас есть несколько приложений Flex, которые используют один и тот же Flex SDK RSL в одном домене, и вы позволите браузеру их кэшировать.
Вот еще одно решение, которое создает отдельный RSL для исправленных классов обезьян - http://www.hrundik.ru/blog/
Создайте пользовательский Preloader для использования и включите туда свои перезаписанные классы - этот preloader загружается перед любыми RSL (такими как RSL фреймворка), так что классы с подключаемым подключением будут первыми и переопределяют фреймворки фреймворка.
Вы можете принудительно включить класс по этому шаблону (поместите его в класс Preloader вашего клиента)
импорт com.yourclass.ClassName
private var emptyVariableTriggerInclusionOfImportedClass: ClassName
Один из ребят из моей команды попробовал это около месяца назад и сказал, что у него нет проблем. Если ваши залатанные обезьяной классы являются частью вашего проекта приложения, тогда это должно работать, так как они скомпилированы в SWF и в основном "переопределяют" то, что находится в платформе. Вы не изменяете инфраструктуру Flex RSL, поэтому она все равно должна нормально загружаться и кэшироваться. Adobe не так много опубликовала, чтобы объяснить это, но я так поняла, что это работает.