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.selectedItem. @ 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 [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a