Boa noite pessoal, Estou a tentar criar um carregador de .Swfs dinâmico,e que Invoque métodos do Swf carregado.
Versão do Flex: 3.0; Recebendo um XML desta forma: <module label="DIÁRIOS"> <Funcionalidade label="Produtividade " data='ProdIndFlex.swf' SearchData='SearchBoxProd'/> <Funcionalidade label="Catalogação de Imagens" data='ChangeDataProvider.swf' SearchData='SearchBoxCat'/> <Funcionalidade label="Processos novos no '40' " data='SWFLoaded.swf' SearchData='SearchBoxPr40'/ /> <Funcionalidade label="Processos no BACKLOG" /> </module > <module label="SEMANAIS"> <Funcionalidade label="Pr1" data='accordionRepeater.swf' /> <Funcionalidade label="Pr310" /> <Funcionalidade label="ProXpto" /> </module > *Populo um accordion.* (O meu SWFLoader: ) <mx:VBox horizontalAlign="left" verticalAlign="top" width="100%" height=" 100%" > <mx:SWFLoader id="myLoader3" width="100%" height="100%" trustContent="true" complete="onCompleteAppLoader(event); "/> </mx:VBox> *E ao carregar num label, vou carregar o swf no Swfloader desta forma:* [*Bindable*]*public* *var* *_appLoaded*:Application; *private* *function* activateLoader(event:Event):*void*{ myLoader3.source=*''*; * //myloader3.source=event.currenttarget.selectedit...@data; * myLoader3.load(event.currenttarget.selectedit...@data); myLoader3.scaleContent=*true*; * * } *private* *function* onCompleteAppLoader(oEvent:Event):*void * { * var* smAppLoaded:SystemManager = SystemManager(oEvent.target.content); *//get a ref to the loaded app * smAppLoaded.addEventListener(FlexEvent.APPLICATION_COMPLETE, onCurrentApplicationComplete); } *private* *function* onCurrentApplicationComplete(oEvent:Event):*void * { _appLoaded = Application(oEvent.target.application); * var* sUrl:String = _appLoaded.url;* * * * * *} *Os SWFS gostaria que fossem externos. * *O meu objectivo é invocar um método do SWF carregado.* * Mas só consigo de fizer com o nome da classe :* SWFLoaded(_appLoaded).doComponentSearch(searchArray); ---- ou ------ ChangeDataProvider(_appLoaded).doComponentSearch(searchArray); Estes dão porque estão no mesmo projecto mas não dá para Swfs gerados por outro projecto... Ou seja não há SWFS externos....* (duvida 2)* *Já tentei:* *var* c:Class = myLoader3.loaderInfo.applicationDomain.getDefinition(className) *as* Class; c(_appLoaded).doComponentSearch(searchArray); *** * *Tb já tentei:* *var** remoteSWF:Object = myLoader3.content as** Object;* *remoteSWF.doComponentSearch(searchArray); ** * * * *O que eu queria:* * appLoaded.doComponentSearch(searchArray); **(duvida 1)* * Alguem sabe o que fazer?* ** Obrigado por terem lido este testamento (desculpem) [[]] João --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---