我有興趣瞭解如何在Flex-4 SWF中運行Flex-3 SWF。如何在Flex4中加載和運行Flex3 SWF,反之亦然?
我的Flex-4的主機應用程序是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<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" minWidth="955" minHeight="600">
<mx:SWFLoader source="SimpleFlex3App.swf" loadForCompatibility="true"/>
</s:Application>
這是Flex-3的應用程序:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="400">
<mx:Script>
<![CDATA[
private function onClick():void
{
labelField.visible = true;
}
]]>
</mx:Script>
<mx:Button label="Click Me" click="onClick();" horizontalCenter="0" verticalCenter="-20"/>
<mx:Label text="Clicked" visible="false" id="labelField" horizontalCenter="0" verticalCenter="20"/>
</mx:Application>
我得到其中的SWFLoader嘗試建立空對象引用橋樑。我假設它沒有得到IMarshalSystemManager實現的實例。
IMarshalSystemManager(sm.getImplementation("mx.managers::IMarshalSystemManager")).addChildBridge(_swfBridge, this);
通過SWFLoader和設置loadForCompatibility爲true我是繼adobe documentation:
我必須在一些既非常簡單,我的主機錯過了和託管應用程序,基本上沒有做任何事情特別。
此外,是否可以做相反的事情,並在Flex-3中運行基於Flex-4的SWF?在我看來,Adobe Doc沒有明確地說是或否。
謝謝。
robmcm,感謝您的想法,但這並沒有幫助。我同時將我的問題簡化爲我能想到的最簡單的情況,並相應地更新了我的原始帖子。 – Stefan 2010-08-19 15:21:12
很高興你把它分類! – robmcm 2010-08-21 08:17:58