ces 0 Denunciar post Postado Setembro 16, 2011 Boa noite galera. A situação é a seguinte: Estou utilizando um tutorial antigo para flex 3 mas que possui boa explicação. A aplicação utiliza remoteObject para se comunicar com o servidor que possiu tecnologia PHP. 1º)RemoteObject(Arquivo Flex olaMundo.mxml): <mx:RemoteObject id="nossoObjecto" destination="amfphp" source="ola.mundo"> <mx:method name="checkLogin" result="{lidaLogin(event)}"> <mx:arguments> <user> "" </user> <pass> "" </pass> </mx:arguments> </mx:method> <mx:method name="buscaDados" result="{lidaBusca(event)}"/> <mx:method name="insereDados" result="{lidaInsere(event)}"> <mx:arguments> <dados> "" </dados> </mx:arguments> </mx:method> </mx:RemoteObject> 2º)Campos(Arquivo Flex olaMundo.mxml) <mx:Label x="10" y="46" text="Nome:" width="58"/> <mx:Label x="10" y="84" text="Email:" width="58"/> <mx:Label x="10" y="125" text="Telefone:" width="100"/> <mx:TextInput x="112" y="44" width="225" id="i_nome"/> <mx:TextInput x="112" y="82" width="225" id="i_email"/> <mx:TextInput x="112" y="123" width="225" id="i_telefone"/> <mx:Button x="377" y="160" label="Inserir Dados" width="182" click="{insere()}"/> 3º) Arquivo crud.as que contem a funcão do click do mouse: import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.rpc.events.ResultEvent; // ActionScript file [bindable] public var dataGridData:Object; private function lidaBusca(evt:ResultEvent):void { if(evt.result.busca=="OK") { dataGridData = new Object; dataGridData = evt.result.detalhes; meusDados.dataProvider=dataGridData; if(this.currentState=="admin") { dadosAct.dataProvider=dataGridData; dadosDelete.dataProvider=dataGridData; } }else{ Alert.show("Impossivel encontrar dados.\n\nERRO:\n"+evt.result.detalhes); } } private function insere():void { if((String(i_nome.text).length > 0) && (String(i_email.text).length > 0) && (String(i_telefone.text).length > 0)) { //novo objeto var objDados:Object = new Object; //campos de array objDados.nome=i_nome.text; objDados.email=i_email.text; objDados.telefone=i_telefone.text; //argumentos que a funcao php vai receber nossoObjecto.insereDados.arguments.dados=objDados; //chamamos o remoteObject nossoObjecto.insereDados.send(); }else { Alert.show("Todos os campo sao necessarios"); } } 4º)Arquivo mundo.php que faz a inserçao no banco function insereDados($dados){ global $con; $sql="INSERT INTO dadosgrid (id,nome,email,telefone) VALUES (NULL,'.$dados->nome.','.$dados->email.','.$dados->telefone.')"; if(mysql_query($sql)){ $resultado->insere="OK"; }else{ $resultado->insere="ERRO"; $resultado->detalhes=mysql_error(); } return $resultado; } Peço a compreensão de todos pois estou iniciando no flex e gostaria de pedir se tem material mais atualizado pra flex 4. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Radaelli 0 Denunciar post Postado Setembro 24, 2011 daí tchê, tranquilo? Cara... não entendi teu problema, tu ta tentando migra a tua aplicação feita no Flex 3 pro Flash Builder 4 e não tah funcionando corretamente? Se for isso, qual exatamente o problema que tah ocorrendo? não ta consultando o php? Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
ces 0 Denunciar post Postado Outubro 1, 2011 O problema é que na hora de gravar. Ta gravando tudo em branco. Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Radaelli 0 Denunciar post Postado Outubro 4, 2011 e aí tchê! teu problema é que na hora de chamar o RemoteObject tu não tá passando a variavel como parametro: ao invés disso: nossoObjecto.insereDados.arguments.dados=objDados; //chamamos o remoteObject nossoObjecto.insereDados.send(); faz isso: //chamamos o remoteObject nossoObjecto.insereDados.send(objDados); Veja se te ajuda, Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
ces 0 Denunciar post Postado Outubro 19, 2011 e aí tchê! teu problema é que na hora de chamar o RemoteObject tu não tá passando a variavel como parametro: ao invés disso: nossoObjecto.insereDados.arguments.dados=objDados; //chamamos o remoteObject nossoObjecto.insereDados.send(); faz isso: //chamamos o remoteObject nossoObjecto.insereDados.send(objDados); Veja se te ajuda, Abraço. Boa Noite depois de muito tempo. Entao fiz a alteração mas ficou na mesma. Acredito eu que no meu arquivo crud.php a query não esta correta. Ja tentei de todo jeito e nada. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 19, 2011 se eu não me engano(não consigo testar agora), para enviar parâmetros, seria assim: nossoObjecto.insereDados.arguments = objDados; nossoObjecto.insereDados.send(); mas testa assim tb se não funcionar: nossoObjecto.insereDados.send(objDados); []´s Compartilhar este post Link para o post Compartilhar em outros sites