none
Formulário Trava ao iniciar processamento

    Question

  • Olá Pessoal

          Desenvolvi em vb uma aplicação para copiar arquivos para outras máquinas devido a quantidade de computadores na rede e tb evitar o uso de arquivos em lote (bat). Não sei se é um problema ou particularidade do vb. A aplicação founciona da seguinte forma: Seleciono os computadores em um treeview e o meu código faz um for nos nos  computadores que estão com check marcado realizando a cópia dos arquivos. Para realizar a copia a aplicação faz o mapeamento de unidade, realiza a copia e fecha a conexão partindo para o proximo computador, quando está processando esses comandos a tela da aplicação trava e se sobreponho outras telas por cima da aplicação a mesma desaparece. Coloquei um progressbar e um statusbar para exibir a informação para máquina está sendo copiado os arquivos mas a tela ainda continua travada . A cópia é realizada com sucesso mas aplicação sempre fica travada ao processar. Gostaria da ajuda de vcs para essas dúlvidas.

     

    Obrigado

    Att,

     

    Marcos Vinícius

     

     

    Sunday, September 24, 2006 4:15 PM

Answers

All replies

  • mvdias27,

    Não é que ela trava, ela fica congelada porque a thread está ocupada realizando a tarefa. Provavelmente é um loop que você está realizando aí, então, se o objetivo for simplesmente ir atualizando a tela, coloque em algum lugar do seu loop o comando abaixo:

    Application.DoEvents()

    No entanto, a melhor opção mesmo seria você fazer esta cópia numa thread em paralelo. No .Net Framework 2.0, você tem a opção de usar o BackgroundWorker, que explico em meu  blog abaixo:

    http://thespoke.net/blogs/fbcjunior/archive/2005/09/16/BackgroundWorkerI.aspx

    E nas versões anteriores, você poderia operar com threads como explico também em meu blog, no post abaixo:

    http://thespoke.net/blogs/fbcjunior/archive/2005/11/17/AtualizarInterfaceThread.aspx


    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    Sunday, September 24, 2006 4:33 PM
  •  Francisco funcionou certinho com o "doevents" era o que eu precisava para exibir para o usuário. Parabens pela rapidez em responder o tópico.

    Obrigado

    Att,

    Marcos Vinícius.

     

     

     

     

    Sunday, September 24, 2006 5:33 PM
  • Marcos,

    Se algum dos posts solucionou sua dúvida, por favor, marque-o como resposta desta thread. Acima de cada post você verá um botão "Marcar como resposta", basta clicar neste botão em um ou mais posts que solucionaram sua dúvida. Isso é importante para considerarmos esta thread como resolvida.

    Ao fazer isto, você usará o Forum da maneira esperada quando ele foi concebido e assim contribuírá para o bom funcionamento de outras features desta ferramenta.

    Obrigado!

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    • Proposed as answer by Web-010101 Sunday, December 18, 2011 11:49 PM
    Sunday, September 24, 2006 5:54 PM