Realmente não tem como outro evento chamar o save do filereference a
não ser a acao direta do usuario.

On 14 out, 09:26, Eduardo Rodrigues <[email protected]> wrote:
> Pessoal, bom dia!
>
> Tenho um arquivo cujos bytes são gerados por um RemoteObject.
> A parte java e a chegada dos dados do arquivo estão ok mas estou tendo
> um problema com o FileReference e o evento de result do RemoteObject.
> O código AS3 está mais ou menos assim:
> [code]
> //Evento do botão              
> public function onClickArquivoButton ( event:MouseEvent ):void
> {
>       remoteObject.recuperarArquivo();
>
> }
>
> //Result do RemoteObject
> public function recuperarArquivoResult(e:ResultEvent):void
> {
>       var fileReference:FileReference = new FileReference();
>       fileReference.save(e.result, null);}
>
> [/code]
>
> Este código dá o erro que se segue:
> [code]
> Error: Error #2176: Certas ações, como aquelas que exigem uma janela
> pop-up, só podem ser invocadas com interação do usuário, por exemplo,
> clicar com o mouse ou pressionar um botão.
>         at flash.net::FileReference/_save()
>         at flash.net::FileReference/save()
>         ...
> [/code]
>
> O que acontece é que para utilizar o FileReference é necessário que o
> método que utiliza-o seja invocado por uma ação do usuário e pelo que
> eu entendo o Flex não entende o evento de resultado do RemoteObject
> como sendo uma ação invocada com interação do usuário, mesmo que a
> chamada do RemoteObject tenha sido originada por uma ação do
> usuário(no caso o acionamento do botão).
> Pesquisando na internet vi que o pessoal tende a carregar os bytes do
> arquivo assim que listam ou mostram os arquivos mas no meu caso é
> inviável essa opção pois o usuário deve alterar alguns dados no
> sistema e depois gerar o arquivo (fiquei também pensando no tráfego
> desnecessário de dados caso o usuário nunca venha a precisar do
> arquivo).
> Já consegui implementar com duas ações do usuário (algo como "Preparar
> Arquivo" e "Salvar Arquivo") mas gostaria de saber se há alguma
> maneira de fazer com apenas uma ação do usuário sem pré-carregar os
> dados do arquivo.
>
> Desde já agradeço!
--~--~---------~--~----~------------~-------~--~----~
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