Cara desculpa eu só copiei e colei o codigo para te mostrar o "fluxo" do Remote Object, que era pra vc tratar o que quer que fosse no onResult e tals, nem me liguei q tinha deixado os retornos errados. Mals ai... xD
Em 30 de abril de 2010 12:20, Cido - Automação <supo...@samos.com.br>escreveu: > legal galera > > agora to comecando a entender > > obrigado > > *From:* Guilherme Sjlender <guisjlen...@gmail.com> > *Sent:* Thursday, April 29, 2010 3:31 PM > *To:* flexdev@googlegroups.com > *Subject:* Re: [flexdev] resultado de uma função em flex > > Na verdade.... o fluxo correto seria... > > > *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*) { > > * * * *chamaAlert(arraylistCadProDAO.length != 0 ) ; > > } > > } > > *private* *function* chamaAlert(value:Boolean):* void* { > * > > if(value) { > > Alert.show(arraylistCadProDAO[0].PRODES); > > } > * > } > > mas como ele disse que quer reaproveitar a função resultadoCadProDAO eu > faria assim... > > *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 + > *"'"*); > > this.addEventListener("eventBuscaProduto",chamaAlert); > * > **private* *function* resultadoCadProDAO(event:ResultEvent) : *void* { > > arraylistCadProDAO = event.result *as* ArrayCollection; > > this.dispatchEvent(new Event("eventBuscaProduto")); > > } > > *private* *function* chamaAlert(event:Event):* void* { > ** > > *if* (arraylistCadProDAO != *null*) { > > * * * *if(arraylistCadProDAO.length != 0 ) { > > * * * ** * * ** > Alert.show(arraylistCadProDAO[0].PRODES);* > > * * * *} > > } > > this.removeEventListener("eventBuscaProduto",chamaAlert); > } > > dessa forma ele irá reaproveitar essa função =P > > > Em 29 de abril de 2010 15:04, bruno bg <bruno...@ig.com.br> escreveu: > >> CIDO.. vai pela solução do RAFA COMIM. >> >> >> bruno bg >> >> >> >> Em 29 de abril de 2010 14:23, Rafa Comim <rafaco...@gmail.com> escreveu: >> >> 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 >>> >> >> >> >> -- >> 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