Existe uma maneira de carregar aplicações de versões anteriores dentro de outra aplicação Flex 4.5. No caso estas aplicações são chamadas sub-applications.
Utilizando o SWFLoader fica muito fácil!
Segue o exemplo:
Devesse colocar um parâmetro de compilação na aplicação principal e nas sub-aplicações:
-includes=mx.managers.systemClasses.MarshallingSupport
Agora vamos ao código Flex:
public function loadModule(url:String):void
if( swfLoader == null )
swfLoader = new SWFLoader();
swfLoader.loadForCompatibility = true;
swfLoader.percentWidth = 100;
swfLoader.percentHeight = 100;
// Adicionando listeners.
swfLoader.addEventListener(Event.INIT, initSWF);
swfLoader.unloadAndStop();
swfLoader.source = url;
swfLoader.load();
}
protected function initSWF(event:Event):void
this.addChild(this.swfLoader);
this.sysManagerSubSWF = swfLoader.content;
this.sysManagerSubSWF.addEventListener(FlexEvent.APPLICATION_COMPLETE, completeSWF);
protected function completeSWF(event:*):void
this.applicationSubSWF = sysManagerSubSWF.application;
// Agora é possivel invocar funções da sub-aplicação
if (this.applicationSubSWF.hasOwnProperty("funcaoTeste"))
var funcaoTeste:Function = (this.applicationSubSWF["funcaoTeste"] as Function);
funcaoTeste("Teste");
}
Segue aqui a documentação oficial completada e detalhada sobre todo o processo de carregar sub-aplicações: “About loading sub-applications“.





