У меня есть два проекта Flash Builder.Давайте назовем их MainWeb и MainAIR.
MainWeb определяет и включает в себя все классы для моего приложения, включая загруженный во время выполнения модуль, который взаимодействует с нашими веб-сервисами.Путь к исходному коду MainAIR ссылается на MainWeb / src и включает только две уникальные части.Первый файл, конечно, является корневым документом MXML.Другой файл переопределяет скомпилированный модуль времени выполнения, определенный в MainWeb, который называется DataStreamer.DataStreamer взаимодействует с нашими веб-службами для MainWeb, а альтернативная версия DataStreamer взаимодействует с файловой системой ОС для MainAIR.Это позволяет очень легко поддерживать пару проектов и легко создавать как веб-версию, так и версию AIR моего приложения.
Это работало хорошо, пока мне не нужно было добавить экземпляр mx.controls.Image.Изображение ссылается на SWFLoader и загружает SWF-файлы ресурсов / содержимого во время выполнения.Некоторые из этих ресурсов имеют исполняемый код, поэтому мне нужно было сделать следующее:
loaderContext = new LoaderContext();
loaderContext.allowLoadBytesCodeExecution = true;
Это хорошо работает из MainAIR, но вызывает ошибку в MainWeb, поскольку, конечно, allowLoadBytesCodeExecution доступен только для проектов AIR.Итак, я подумал, что могу использовать ту же технику, что и с модулем времени выполнения, и просто определить новую версию класса в MainAIR.Это не удалось.FlashBuilder компилируется в версии класса MainWeb или Flash Player создает экземпляр версии MainWeb.Я не могу сказать без декомпиляции кода.
Как указать порядок, в котором FlashBuilder должен искать определения классов?