Я довольно новичок в Flex и у меня проблема, когда у меня есть основная программа Flex (назовем ее «Parent.swf»), пытаясь загрузить другое приложение Flex (Child.swf) через класс/компонент SWFLoader. Окружающая среда Flex 4.6 на FlashDevelop.Flex mx: SWFLoader Loads Неверный SWF-файл
Похоже, что вызов работает корректно (т. Е. Не возвращаются ошибки ввода-вывода или песочницы), только, похоже, что перезагрузка «Parent.swf» в SWFLoader вместо «Child.swf».
К примеру, у меня есть Parent.swf содержащий:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
initialize="doStartup()"
width="1024" height="768">
...
<fx:Script>
<![CDATA[
private function doStartup():void
{
trace("STARTING UP!");
}
....
]]>
</fx:Script>
<mx:VBox top="10" left="10" width="100%" horizontalAlign="center">
<mx:Label text="I'M A LOADER!" />
</mx:VBox>
<mx:VBox top="10" left="10" width="100%" horizontalAlign="center">
<mx:SWFLoader
id="pluginLoader"
source="plugins/Child.swf"
autoLoad="true"
height="400" width="400"
complete="onPluginLoaded(event);"
ioError="onPluginLoadError(event);"
securityError="onPluginSecurityError(event);"
httpStatus="onHttpStatus(event);"
init="onInit(event);"
open="onOpen(event);"
progress="onProgress(event);"
unload="onUnload(event);"
/>
</mx:VBox>
....
Ребенок швейцарских франков содержит:
....
<mx:Label text="I'M A PLUGIN!" />
....
Трассировка выше, повторяется на нагрузке (т.е. "запускаясь!") из Child.swf, а затем еще одна попытка загрузить Child.swf, которая не работает, потому что рабочий каталог для вызова теперь находится в каталоге «plugins». Так что, похоже, файл существует и загружает его, но как-то своп в Parent.swf поверх него. Обратите внимание, что если я выполняю Child.swf напрямую, я могу проверить, что это то, что я ожидаю от него (т. Е. Приложение flex с одним ярлыком «I« PLUGIN! »).
Я также пробовал различные другие подходы, такие как создание SWFLoader через код, но та же проблема возникает. Я даже пытался переключиться на Модули, но там тоже было такое же поведение. Не удается выполнить локальную работу или запустить через веб-сервер.
Кто-нибудь знает, как это могло произойти? Есть ли способ, которым main.mxml Parent.swf переопределяет Child.swf? (Извините за эссе)
Gaah, я чувствую себя идиотом. Это было похоже на ваш второй пункт ... оба приложения использовали main как имя файла mxml. Если я изменю одно из них на другое имя, тогда все будет хорошо! Cheers Харрисон. – user4667964