Problema rogerio que clipper pela web e bem precario entao tenho de construir uma casa com pedras e gravetos. Estou usando sim o evento COMPLETE mas como voce falo ali em cima @Pablo Souza ele chama quando eu faço o Upload e nao quando eu executo todo o meu processo.
Vou postar meu codigo aqui <?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" creationComplete="initApp()" > <fx:Declarations> <s:RadioButtonGroup id="grup_carga_fazer"/> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.managers.PopUpManager; import mx.controls.Alert; import mx.core.IVisualElement; import mx.controls.ProgressBar; import flash.net.FileReference; import mx.controls.Alert; private var fileRef:FileReference; private const FILE_UPLOAD_URL:String = " http://ip.ip.ip.ip:8080/pp/u_upCargas.apw"; private var percent:Number = 0; private var percentFull :Number = 100; private var regradeTres:Number = 0; private function handleCloseEvent():void { PopUpManager.removePopUp(this); } public function initApp():void{ //Inicializa o controle de Upload de arquivos fileRef = new FileReference(); fileRef.addEventListener(Event.SELECT, fileRef_select); fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress); fileRef.addEventListener(Event.COMPLETE, fileRef_complete); //Esconde o segundo Grupo group_caminho.visible = false; group_caminho.includeInLayout = false; } public function setDataContrato(crt:String, crtNome:String, crtTp:String):void{ CCUA_NumContrat.text = crt; CCUA_Nome.text = crtNome; CCUA_tipoContrato.text = crtTp; } private function abrefechaCaminho(tp:Number):void{ if(tp == 1){ group_caminho.visible = false; group_caminho.includeInLayout = false; }else if(tp == 2){ browseAndUpload(); } } //PARTE DE UPLOAD ============================================================================= private function browseAndUpload():void { fileRef.browse(); } private function fileRef_select(evt:Event):void { try { fileRef.upload(new URLRequest(FILE_UPLOAD_URL)); group_caminho.visible = true; group_caminho.includeInLayout = true; } catch (err:Error) { pBar.label = "ERROR: zero-byte file"; } } private function fileRef_progress(evt:ProgressEvent):void { pBar.visible = true; pBar.mode = "manual"; regradeTres = Math.ceil(((evt.bytesLoaded*100)/ evt.bytesTotal)); pBar.setProgress(regradeTres, percentFull); pBar.label = Math.ceil(((evt.bytesLoaded*100)/ evt.bytesTotal))+"% de "+percentFull+"%"; if(regradeTres >= 100){ pBar.label = "Upload Completo, aguarde!!!"; } } private function fileRef_complete(evt:Event):void { pBar.visible = false; group_caminho.visible = false; group_caminho.includeInLayout = false; Alert.show("Arquivo carregado para o servidor","Arquivo carregado para o servidor."); } ]]> </fx:Script> <s:TitleWindow close="handleCloseEvent();" width="884" height="526" horizontalCenter="0" verticalCenter="-37" id="PainelCargaContratosUpload" title="Carga de Cartões e Upload de Arquivos"> <s:VGroup x="0" y="0" width="100%" height="100%"> <s:HGroup width="100%" height="85"> <mx:Form width="100%" height="83"> <mx:FormHeading label="Informações Referentes ao Contrato"/> <mx:FormItem width="937" paddingTop="5"> <s:HGroup width="100%" height="100%"> <s:Label x="19" y="4" text="Contrato:" fontWeight="bold"/> <s:Label text="------" id="CCUA_NumContrat"/> <mx:Spacer width="15"/> <s:Label text="Nome:" fontWeight="bold"/> <s:Label text="--------- ------- --------" id="CCUA_Nome"/> <mx:Spacer width="15"/> <s:Label text="Tipo do Contrato:" fontWeight="bold"/> <s:Label text="--------- ------- --------" id="CCUA_tipoContrato"/> </s:HGroup> </mx:FormItem> </mx:Form> </s:HGroup> <s:HGroup width="100%" height="100%"> <s:VGroup width="172" height="100%" paddingLeft="9" paddingTop="5"> <s:Label text="O que você deseja fazer ?" width="149" paddingTop="5" textAlign="center"/> <s:RadioButton label="Carregar ultima carga " click="abrefechaCaminho(1);" value="1" groupName="grup_carga_fazer"/> <s:RadioButton label="Fazer uma nova carga" click="abrefechaCaminho(2);" value="2" groupName="grup_carga_fazer"/> <s:VGroup width="161" height="52" paddingLeft="2" paddingTop="2" id="group_caminho"> <mx:ProgressBar id="pBar" visible="true" x="85" y="0" labelPlacement="top" minimum="1" maximum="100" width="153"/> </s:VGroup> <mx:HRule width="100%"/> <s:Button label="Aplicar Carga"/> </s:VGroup> <s:VGroup width="100%" height="100%" paddingLeft="2" paddingRight="2" paddingTop="2" paddingBottom="2"> <mx:DataGrid width="698" height="367" paddingRight="2" paddingBottom="2" paddingLeft="2" paddingTop="2"> <mx:columns> <mx:DataGridColumn headerText="Column 1" dataField="col1"/> <mx:DataGridColumn headerText="Column 2" dataField="col2"/> <mx:DataGridColumn headerText="Column 3" dataField="col3"/> </mx:columns> </mx:DataGrid> </s:VGroup> </s:HGroup> </s:VGroup> </s:TitleWindow> </s:Group> so troca ro endereço ipipipip por um endereço pra fazer o upload por exemplo. 2011/1/5 Rogério Casal <[email protected]> > Cara muito legal sua dúvida, seguinte: > 1º A responsabilidade dessa chamada da webservice vai se iniciar no > frontEnd ou apenas no backend? > 2º Vc pode seguir a seguinte seguencia, Carregar o arquivo, chamar metodo > para persistir os dados no banco(se entendi certo vc quer gravar no Banco) e > no result do metodo de gravação de dados, vc pode chamar a webService. > > observações a serem consideradas, utilize um metodo de result do > remoteObject no backend vc coloca retornando um boolean para dizer se > persistio ou não. Então quando vc chamar a webService terá certeza que os > dados foram inseridos no banco de dados. evitando problemas com > assicronismo. > > espero ter compreendido sua dúvida. > > > Em 5 de janeiro de 2011 16:34, Helio Antonio Francisco Silva < > [email protected]> escreveu: > > Entao rogerio meu problema e o seguinte. >> >> digamos que eu tenho um arquivo texto de 15 mil usuarios para serem >> carregados para o sistema. >> Primeiro eu faço o Upload ate ai molezinha... >> >> Quando eu terminar o Upload eu vou startar uma webservice para trazer os >> primeiro 50 registros dos 15 mil... para paginar caso o usuario precise... >> mas quem me garante que quando eu terminei o Upload o meu programa no caso >> uma pagina web ja inserido tudo na tabela... por que no programa que eu faço >> o Upload eu ja jogo tudo dentro a onde precisa. >> >> Entao eu queria saber. o quando terminar a minha rotina de Upload e >> inserir no banco ja posso chamar a webservice que nao vai dar problema ??? >> >> exemplo >> * >> >> private >> **const* FILE_UPLOAD_URL:String =" * >> http://ip.ip.ip.ip:8080/pp/u_upCargas.apw"*;* >> >> try >> *{ >> fileRef.upload(*new* URLRequest(FILE_UPLOAD_URL)); >> group_caminho.visible = *true*; >> group_caminho.includeInLayout = *true*; >> } *catch* (err:Error) { >> pBar.label = *"ERROR: zero-byte file"*; >> } >> >> esse Upload so vai terminar nao quando eu enviar o arquivo mas sim quando >> eu enviar e processar o que eu tenho de processar ? >> essa e minha duvida >> >> >> >> 2011/1/5 Rogério Casal <[email protected]> >> >> Bom, eu acredito que seja sincrono, pois se não fosse a referencia sempre >>> seria nula, mas existem particularidades de situações se vc estiver com >>> problemas em carregamento de arquivo posta para que possamos avaliar. >>> >>> att.: >>> Rogério Casal >>> Software Developer >>> Fone: 81 8805-4303 >>> www.rogeriocasal.com.br >>> >>> >>> Em 5 de janeiro de 2011 16:11, Helio Antonio Francisco Silva < >>> [email protected]> escreveu: >>> >>>> Procurei e nao achei... >>>> alguem poderia me dizer isso ? >>>> >>>> -- >>>> *Hélio Antonio Fransico Silva* >>>> Desenvolvedor web >>>> Certificado Flash developer >>>> Certificado Flash Design >>>> Certificado web developer >>>> Consultor Microsiga / Totvs >>>> Desenvolvedor ADVPL / ASP >>>> Analista de sistemas e ERP Sênior. >>>> >>>> -- >>>> 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 >>> >>> >>> >>> >>> -- >>> Rogério Casal >>> Software Developer >>> Fone: 81 8805-4303 >>> www.rogeriocasal.com.br >>> >>> -- >>> 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 >> >> >> >> >> -- >> *Hélio Antonio Fransico Silva* >> Desenvolvedor web >> Certificado Flash developer >> Certificado Flash Design >> Certificado web developer >> Consultor Microsiga / Totvs >> Desenvolvedor ADVPL / ASP >> Analista de sistemas e ERP Sênior. >> >> -- >> 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 >> > > > > -- > Rogério Casal > Software Developer > Fone: 81 8805-4303 > www.rogeriocasal.com.br > > -- > 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 > -- *Hélio Antonio Fransico Silva* Desenvolvedor web Certificado Flash developer Certificado Flash Design Certificado web developer Consultor Microsiga / Totvs Desenvolvedor ADVPL / ASP Analista de sistemas e ERP Sênior. -- 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
