【发布时间】:2011-02-16 22:24:00
【问题描述】:
我在 Flash Builder 4 中创建了一个作为 swf 文件的 Flex 模块。我正在尝试在 Flash 应用程序中加载和运行。我可以加载模块,但无法让 Flash 应用程序访问任何模块功能。这是我在 Flash 中加载模块的方式以及我得到的错误。如果我将模块更改为应用程序类型 swf 然后它会加载并运行,但现在我有两个应用程序在彼此之上。我希望加载的模块 swf 能够访问 Flash 舞台对象。
ReferenceError:错误 #1069:在 MyModule__mx_core_FlexModuleFactory 上找不到属性应用程序,并且没有默认值。
var loader:Loader = new Loader();
addChild(loader);
loader.load(new URLRequest("MyModule.swf"), new LoaderContext(false, ApplicationDomain.currentDomain));
loader.addEventListener("mx.managers.SystemManager.isBootstrapRoot", systemManagerHandler);
loader.addEventListener("mx.managers.SystemManager.isStageRoot", systemManagerHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadIt);
function loadIt(e:Event):void
{
var myclip:MovieClip = loader.content as MovieClip;
trace(myclip.info());
if(myclip.application == null )
myclip.addEventListener("applicationComplete", onAppComplete );
}
}
function onAppComplete(e:Event):void
{
var myclip:MovieClip = loader.content as MovieClip;
trace("appComplete");
}
【问题讨论】:
-
当您说模块时,您是在泛指使用这个词,还是在谈论基于 MX:Module 的 Flex 应用程序?
-
标题有点误导。 Flex 模块与 AS3 模块不同——如果这样的东西存在的话......
标签: flash apache-flex module loading