Valeu Hélio, muito obrigado, vou efetuar as alterações e posto o resultado ou até mesmo alguma duvida.
Abraços... Em 29 de abril de 2010 10:31, Helio Antonio Francisco Silva < [email protected]> escreveu: > * > > public > * *var* listModulesPes:ArrayCollection = *new* ArrayCollection();* > > public > * *function* createModule(s:String, c:String):*void* { > > *//Variavel para saber se o modulo existe* > > *var* existeModulo:Boolean = *false*; > > *//Primeiro verifico se o modulo existe* > > *for*(*var* x:Number=0;x<listModulesPes.length;x++){ > > *if*(listModulesPes[x].url == s){ > > *//Modulo já existe* > > existeModulo = > *true*; > > listModulesPes[x].modulo.loadModule(); > *//Caminho da aplicação* > > loader.enabled = > *false*; > > *break*; > > } > > } > > *//Se for falso então precisa criar o modulo.* > > *if*(!existeModulo){ > > listModulesPes.addItem({ modulo: > *new* ModuleLoader(),url: s, campoRetorno: c }); > > > Application.application.addChild(listModulesPes[(listModulesPes.length-1)].modulo); > > listModulesPes[(listModulesPes.length-1)].modulo.autoLayout = > *true*; > > listModulesPes[(listModulesPes.length-1)].modulo.includeInLayout = > *true*; > > listModulesPes[(listModulesPes.length-1)].modulo.url = s; > *//Caminho da aplicação* > > listModulesPes[(listModulesPes.length-1)].modulo.percentHeight=100; > > listModulesPes[(listModulesPes.length-1)].modulo.percentWidth=100; > > listModulesPes[(listModulesPes.length-1)].modulo.loadModule(); > > listModulesPes[(listModulesPes.length-1)].modulo.addEventListener(ModuleEvent.READY, > pesClienteReady); > > listModulesPes[(listModulesPes.length-1)].modulo.addEventListener(ModuleEvent.ERROR, > pesClienteError); > > loader.enabled = > *false*; > > } > > } > * > > //Descarregamento dynamico dos modulos. Nome da URL UNICA para descarregar > o modulo que precisa. > ** > > public > * *function* removeModule(s:String):*void* { > > *for*(*var* x:Number=0;x<listModulesPes.length;x++){ > > *if*(listModulesPes[x].url == s){ > > *//Modulo já existe* > > listModulesPes[x].modulo.unloadModule(); > > Application.application.removeChild(listModulesPes[x].modulo); > > listModulesPes.removeItemAt(x); > > loader.enabled = > *true*; > > *break*; > > } > > } > > } > > * > > public > * *function* getNomeCampo(url:String):String{ > > *var* retornaCampo:String = *new* String(); > > *for*(*var* x:Number=0;x<listModulesPes.length;x++){ > > *if*(listModulesPes[x].url == url){ > > *//Se achar a url passar o nome do campo especifico.* > > retornaCampo = listModulesPes[x].campoRetorno; > > *return* retornaCampo > > } > > } > > *return* *""*; > > } > > Isso ae eu fiz com modulos, a unica coisa que voce tem de fazer e adptar > para panels, aqui ta funcionando certinho, eu abro varios modulos de 1 so > vez e guardo todas as referencias dele dentro desse array, se eu precisar > procurar um modulo ( no seu caso um panel ) a unica coisa que tenho de fazer > a passar o nome do painel, no meu caso eu passo o caminho do meu modulo que > e unico por assim dizer, "modulos/pedidoVenda/Pedido_manager.swf" no seu > caso, voce passaria o ID, ai ele varre o array e verifica se o seu panel > existe primeiro, se existir, voce so atualiza o que voce quer, ai voce muda > o meu IF la, se nao existir ele cria um panel COM O NOME DO SEU ID e > armazena ele dentro do array, e se nao quiser mais, voce descarrega ele no > flex, deleta ele do array para liberar da memoria das 2 formas, e pra > consultar e so fazer uma adaptação da createmodulo para atualizapanel, e > fazer o que voce precisa, qualquer duvida tamos ae. > > Não deve servir 100% pra voce por que to usando modulos, mas e so voce dar > uma espiada no codigo e adaptar para o que voce precisa, duvidas, da um > toque. > > 2010/4/29 Leandro Faria <[email protected]> > >> Helio, tem como vc me mandar um exemplo ? >> >> Obrigado >> >> Em 29 de abril de 2010 09:39, Helio Antonio Francisco Silva < >> [email protected]> escreveu: >> >>> Cara eu fiz uma coisa parecida com modulos, mas da pra se aplicar a >>> paneis tambem. >>> >>> Você pode montar um array com as informações dos seus paneis, sempre que >>> um panel for criado voce o armazena la, assim voce consegue acessar todas as >>> propriedades dele. >>> >>> 2010/4/29 Leandro Faria <[email protected]> >>> >>>> Pessoal >>>> >>>> Minha duvida é o seguinte, tenho na minha aplicação a opção de abrir >>>> varios panel, em um determinado momento preciso passar um dado para um >>>> panel >>>> especifico. Eles são identificados atráves do código que vem do meu banco >>>> de >>>> dados(Ex: panel.id = 10). No caso desse exemplo, eu preciso varrer os >>>> panels e verificar se existe algum aberto com o id = 10. Existe essa >>>> possíbilidade ? >>>> >>>> Obrigado >>>> >>>> -- >>>> Leandro de Faria - Faculdade Cenecista de Sete Lagoas >>>> Graduando em Sistemas de Informação >>>> (31) 8825 2046 >>>> >>>> -- >>>> 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 >>>> >>> >>> >>> >>> -- >>> Desenvolvedor Web >>> >>> -- >>> 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 >>> >> >> >> >> -- >> Leandro de Faria - Faculdade Cenecista de Sete Lagoas >> Graduando em Sistemas de Informação >> (31) 8825 2046 >> >> -- >> 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 >> > > > > -- > Desenvolvedor Web > > -- > 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 > -- Leandro de Faria - Faculdade Cenecista de Sete Lagoas Graduando em Sistemas de Informação (31) 8825 2046 -- 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
