Pessoal, to fazendo um esquema no AIR, que eu leio um arquivo CSV e crio um
arraycollection, super facil. Meu problema:

Antes de eu mandar extrair os dados do meu arquivo CSV e converter em
arrayCollection eu queria abrir um popup com uma tela personalizada e
quando termina-se eu fecharia, se nao o usuario dependendo do arquivo de
50.000 linhas demora uns 10s, e nao queria que ele fica-se olhando pro teto
sem saber o que ta rolando. mas INFELIZMENTE nao sei por que nao consigo
fazer o popup aparecer quando converto o array. ja ate botei um wait
function pra esperar 2 segundos antes de começar ler o array mas mesmo
assim nao adianta, vou postar o codigo aqui.

//Nessa função validar os itens do arquivo
private function importarValidarFile():void{
    var waitPanel:AguardeProcessandoCustomizado = new
AguardeProcessandoCustomizado();
    PopUpManager.addPopUp(waitPanel, waitPanel as DisplayObject, true);
    PopUpManager.centerPopUp(waitPanel);

    this.allDocsValidarImportacao = parseCSV(contudoCSV);

    for(var x:Number = 0;x<this.allDocsValidarImportacao.length;x++){
        var objLinha:Object = this. allDocsValidarImportacao[x];

        if(Boolean(allDocsValidarImportacao[x].CODIGODEBARRAS)){


if(!Utils.checkCodBarraSize(this.allDocsValidarImportacao[x].CODIGODEBARRAS)){
                allDocsValidarImportacao[x].LINHA = x;
                allDocsValidarImportacao[x].ERRO = true;
                allDocsValidarImportacao[x].MSGERRO = 'Codigo de Barras e
maior do que 13 caracteres favor verificar';
                continue;
            }


if(!Utils.checkCodNumeric(this.allDocsValidarImportacao[x].CODIGODEBARRAS)){
                allDocsValidarImportacao[x].LINHA = x;
                allDocsValidarImportacao[x].ERRO = true;
                allDocsValidarImportacao[x].MSGERRO = 'Codigo de Barras tem
caracteres que não são numericos';
                continue;
            }

        }
    }
    allDocsValidarImportacao.refresh();

    //PopUpManager.removePopUp(waitPanel);
}


private function parseCSV(_content:String):ArrayCollection{
    //create temporary array to store the Orders
    var csvArray:ArrayCollection = new ArrayCollection();
    //break the csv into individual lines ---
    var csvLines:Array = _content.split(String.fromCharCode(13,10));
    //remove title row
    //csvLines.splice(0,1);
    var x:Number = 0;
    //loop over each line
    var totalLinhas = csvLines.length;

    //Calcular o progress bar

    allDocsValidarImportacaoDupli = new ArrayCollection();
    for each(var s:String in csvLines){
        s = Utils.limparString(s);
        var lineItems:Array = s.split(";");
        var error:Boolean = false;
        var mesageError:String = '';
        if(lineItems.length != 17){
            error = true;
            mesageError = 'Linha: '+x+' O numero de colunas esta diferente
de 17!';
        }
        csvArray.addItem(
            {CODIGODEBARRAS: (lineItems[0]) ? lineItems[0] : '' ,
                CODIGONOCLIENTE: (lineItems[1]) ? lineItems[1] : '' ,
                NCM: (lineItems[2]) ? lineItems[2] : '' ,
                DESCRICAO: (lineItems[3]) ? lineItems[3] : '' ,
                CSTICMS: (lineItems[4]) ? lineItems[4] : '' ,
                ALIQUOTAICMS: (lineItems[5]) ? lineItems[5] : '' ,
                PISENTRADA: (lineItems[6]) ? lineItems[6] : '' ,
                ALIQUOTADEENTRADA: (lineItems[7]) ? lineItems[7] : '' ,
                PISDESAIDA: (lineItems[8]) ? lineItems[8] : '',
                ALIQUOTADESAIDA: (lineItems[9]) ? lineItems[9] : '' ,
                COFINSDEENTRADA: (lineItems[10]) ? lineItems[10] : '',
                ALIQUOTADEENTRADA2: (lineItems[11]) ? lineItems[11] : '',
                COFINSDESAIDA: (lineItems[12]) ? lineItems[12] : '',
                ALIQUOTADESAIDA2: (lineItems[13]) ? lineItems[13] : '',
                UM: (lineItems[14]) ? lineItems[14] : '' ,
                TIPODEMEDICAMENTO: (lineItems[15]) ? lineItems[15] : '' ,
                LISTA: (lineItems[16]) ? lineItems[16] : '',
                ERRO:error,
                MSGERRO:mesageError,
                LINHA:x});

        x++;
    }
    return csvArray;
}


como viram eu comentei o removePopUp entao em teoria ele nao deveria sumir,
mas ele NEM aparece, agora se eu nao achamar essa funcao pra ler o conteudo
da variavel contudoCSV ai ele funciona normalmente =/  alguem sabe por que
isso ? sera que e tal rapido que nem aparece ?
Grato pela ajuda.

-- 
*Hélio Antonio Francisco 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
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Responder a