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

Responder a