O fluxo correto desse teu código creio  que seria o seguinte:

*private* *function* Busca_Produto(codigo:String):Boolean {

CadProDAO.Buscar(*"select * from cadpro join cadsld on cadsld.sldemp =
'00001**' and cadsld.sldpro = cadpro.procod where profab = '"* + codigo + *
"'"*);

}

*private* *function* resultadoCadProDAO(event:ResultEvent) : *void* {

arraylistCadProDAO = event.result *as* ArrayCollection;

*if* (arraylistCadProDAO != *null*) {

*if* (arraylistCadProDAO.length != 0 ) {*return* *true*;} *else* {*return* *
false*;}

} *else* {*return* *false*}

}

Em 29 de abril de 2010 14:14, Cido - Automação <supo...@samos.com.br>escreveu:

>  a sim
> fazendo a validação no  resultadoCadProDAO  eu tenho feito e sei que dá
> certo
> é que queria fazer ele reaproveitavel, pq em diversos momentos no sistema
> eu preciso buscar um produto,
> no caso eu teria que criar um  resultadoCadProDAO  pra cada situação busca
> de produto
> onde fica nessa situação o reaproveitamento de codigo ??
> mas, se num tem outra forma eu vou fazer isso..
>
> obrigado
>
> cido
>
>
>  *From:* Guilherme Sjlender <guisjlen...@gmail.com>
> *Sent:* Thursday, April 29, 2010 1:58 PM
> *To:* flexdev@googlegroups.com
> *Subject:* Re: [flexdev] resultado de uma função em flex
>
> Ata....
>
> Seguinte...
>
> Quando vc chama a função CadProDAO.Buscar ele irá no seu backend trazer
> essa informação e retornar para o seu resultadoCadProDAO... porém... ele
> só irá buscar depois que a função Busca_Produto terminar, ou seja, ele irá
> fazer o
>
> *if* (arraylistCadProDAO != *null*) {
>
> *if* (arraylistCadProDAO.length != 0 ) {*return* *true*;} *else* {*return*
> *false*;}
>
> } *else* {*return* *false*}
>
> }
>
> antes de retornar o seu resultadoCadProDAO... e vemos que ele irá executar
> o *if* (arraylistCadProDAO != *null*) e como a lista está nula ainda não
> irá retornar nada.... depois que terminar essa função... ai será retornado a
> lista que vc precisa.... então, na segunda vez essa lista ja está carregada,
> ai passa pelo if...
>
> O que vc deveria fazer é fazer essa validação no resultadoCadProDAO
> chamando então o Alert.
>
> Compreendes?
>
> Seria isso =)
>
> Boa sorte ai.
> Em 29 de abril de 2010 13:51, Cido - Automação <supo...@samos.com.br>escreveu:
>
>>  seguinte quando dou o primeiro Click ele num faz nada
>> quando dou o segundo Click ela me traz a descrição do produto corretamente
>> parece que ela me resulta o evento apenas quando clico no botão pela
>> segunda vez
>>
>> cido
>>
>>  *From:* Guilherme Sjlender <guisjlen...@gmail.com>
>> *Sent:* Thursday, April 29, 2010 1:41 PM
>> *To:* flexdev@googlegroups.com
>> *Subject:* Re: [flexdev] resultado de uma função em flex
>>
>> Você quer chamar essa função no duplo click? é isso sua duvida?
>>
>> Em 29 de abril de 2010 12:22, Cido - Automação 
>> <supo...@samos.com.br>escreveu:
>>
>>>  sei que é uma questão da maneira como flex funciona
>>> mas gostaria que alguem me desse uma dica de como fazer
>>>
>>> eu chamo a função num click de um Button dessa forma:
>>> *
>>>
>>> if(Busca_Produto("100/B")) {
>>>
>>>  Alert.show(arraylistCadProDAO[0].PRODES);
>>>
>>>  }
>>> *
>>>
>>> *private* *function* Busca_Produto(codigo:String):Boolean {
>>>
>>> CadProDAO.Buscar(*"select * from cadpro join cadsld on cadsld.sldemp =
>>> '00001**' and cadsld.sldpro = cadpro.procod where profab = '"* + codigo
>>> + *"'"*);
>>>
>>> *if* (arraylistCadProDAO != *null*) {
>>>
>>> *if* (arraylistCadProDAO.length != 0 ) {*return* *true*;} *else* {*
>>> return* *false*;}
>>>
>>> } *else* {*return* *false*}
>>>
>>> }
>>>
>>> *private* *function* resultadoCadProDAO(event:ResultEvent) : *void* {
>>>
>>> arraylistCadProDAO = event.result
>>> *as* ArrayCollection;
>>>
>>> }
>>>
>>>
>>>
>>> na primeiro click ele num traz o resultado, apenas no segundo click
>>>
>>> acredito que é uma questão de como os eventos do flex funciona
>>>
>>> alguem poderia me ajudar a como fazer ??
>>>
>>> obrigado
>>>
>>>
>>>
>>> cido
>>>
>>>
>>>
>>>
>>>
>>> --
>>> 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
>>
>>
>>
>>
>> --
>> -----------------------------------------------------------
>> Guilherme Sjlender                            -
>> Desenvolvedor RIA - Flex/Java         -
>> http://site.gflex.biz                       -
>> ------------------------------------------------
>>
>> --
>> 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
>>
>> --
>> 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
>>
>
>
>
> --
> -----------------------------------------------------------
> Guilherme Sjlender                            -
> Desenvolvedor RIA - Flex/Java         -
> http://site.gflex.biz                       -
> ------------------------------------------------
>
> --
> 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
>
> --
> 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
>



-- 
______________________

Atenciosamente,

Rafael Comim

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