2011-02-16 32 views
0

我有一個在Flash Builder 4中創建的Flex模塊作爲swf文件。我正嘗試在Flash應用程序中加載和運行。我可以加載模塊,但我無法讓Flash應用程序訪問任何模塊功能。下面是我如何在Flash中加載模塊以及我得到的錯誤。如果我將模塊更改爲應用程序類型swf,那麼它會加載並運行,但現在我有兩個應用程序在另一個之上。我希望加載的模塊swf能夠訪問Flash stage對象。Flash可以加載在Flex Builder 4中創建的Flex mx:模塊

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"); 
    } 
+0

當你說Module是一般使用這個詞的時候,或者你是在談論一個基於MX:Module的Flex應用程序嗎? – JeffryHouser 2011-02-16 23:35:23

回答

2

Flex模塊必須由Flex應用程序SWF加載。它們不能由非Flex SWF加載。

在主應用程序加載後,您應該使用Flex中的Module來加載應用程序的一部分,我知道這是Flex以外的用例。但是,Module需要應用程序的其餘部分存在,因爲它從Flex框架中省略了許多應該已經存在於主Flex應用程序SWF中的核心類。

相關問題