blz, vai na fe que funciona direitinho isso ae.


2010/4/29 Leandro Faria <[email protected]>

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



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

Responder a