Je suis intéressé à comprendre comment faire fonctionner un SWF Flex-3 à l'intérieur d'un SWF Flex-4.Comment charger et exécuter un fichier SWF Flex3 à l'intérieur de Flex4 ou vice versa?
Mon Flex-4 application hôte ressemble à ceci:
<?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>
Et c'est l'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>
je reçois une référence d'objet nul où le SWFLoader tente de mettre en place le pont. Je suppose qu'il n'obtient pas une instance pour l'implémentation IMarshalSystemManager.
IMarshalSystemManager(sm.getImplementation("mx.managers::IMarshalSystemManager")).addChildBridge(_swfBridge, this);
En utilisant le SWFLoader et la mise loadForCompatibility à vrai que je suivais le adobe documentation:
Je dois manquer sur quelque chose de très simple à la fois, mon hôte et applications hébergées, au fond ne font rien spécial.
De plus, est-il possible de faire le contraire et d'exécuter un SWF basé sur Flex-4 à l'intérieur d'un fichier Flex-3? À mon avis, l'adobe doc ne dit pas clairement oui ou non.
Merci.
robmcm, merci pour vos pensées mais cela n'a pas aidé. J'ai simplifié mon problème en attendant le cas le plus simple que je pouvais penser et mis à jour mon poste original en conséquence. – Stefan
Heureux que vous l'ayez trié! – robmcm