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
-~----------~----~----~----~------~----~------~--~---

Responder a