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