PDA

Просмотр полной версии : Как отключить кеширование кода при подгрузке нескольких swf?


Timai
25.05.2010, 21:39
Привет.
Ситуация следующая - имеется несколько swf, собранных Flex'ом (ActionScript project). Все проекты используют общую библиотеку (набор as-файлов, прицепленных через Project properties/ActionScript Build Path/Source Path).
Есть флешка-контейнер, который подгружает эти swf поочерёдно (ротатор).
Проблема в том что плеер как-то кеширует код общей библиотеки при загрузке первой swf и использует его на других. На деле получается, что если swf собраны с разными версиями библиотеки, то всегда используется только та, что была загружена в первой swf.

Как это можно отключить? На каждое изменение в библиотеке пересобирать все проекты утомляет.
p.s. стоит флаг компилятора -static-link-runtime-shared-libraries.

wvxvw
25.05.2010, 22:05
Этот флаг отношения не имеет. Если вы зачем-то хотите дублировать функционал во всех загружаемых флешках - грузите в новый ApplicationDomain (читать справку по LoaderContext). Но на месте пользователя я бы не захотел пользоваться сайтом который так делает. Это плохо, что вам нужно загружать практически один и тот же функционал много раз. Если есть возможность. То лучше спроектировать так, чтобы общий функционал находился только в первой загруженой флешке, а остальные его не содержали в принципе.

Timai
25.05.2010, 22:33
О, спасибо.
А про дублирование - в релизной версии можно и обойтись, да, но вот отлаживаться так тяжело.