1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB.NET]Multi-form + multi-thread

Discussão em 'Programação' iniciada por wedlled, 31 de Julho de 2008. (Respostas: 8; Visualizações: 2009)

Estado do Tópico:
Fechado a novas mensagens.
  1. wedlled

    wedlled Power Member

    Olá a todos.

    Tenho um form (fomr1) que esta a correr uma thread em ciclo infinito que vai recebendo informação via web e a vai tratando.

    Dado um certo input, a forma de tratamento é cria uma nova form (form2) que terá dentro dela outra thread em ciclo infinito.

    O problema é que o código:
    Código:
    dim tmp as new form2()
    tmp.show()
    Não funciona. A thread no form1 continua a correr bem, mas o form2 nunca chega a carregar. Aparece e fica bloqueado sem resposta.
    Se utilizar
    Código:
    tmo.showdialog
    , funciona mas ai (dado o método usado) fico so com a thread na form2 a funcionar, a da form1 fica bloqueada até fechar o form2.

    Alguém tem uma ideia? A única solução que arranjei foi na form1 dentro da thread principal criar uma segunda thread e esse sim chamava o tmp.showdialog. Assim sé esta thread secundária é que ficava bloqueada, mas também só era usada para chamar o form.

    Como não sei se isto é o melhor a fazer, se alguém souber ajudar agradecia ;)
     
  2. Armadillo

    Armadillo Folding Member

    Whoow!:wow:
    Loop infinito?
    Acho que a resoluçao do teu problema passa por eliminares este loop.
     
  3. joao.miguel

    joao.miguel Power Member

    Dá uma vista de olhos no objecto ManualResetEvent.

    Se puderes colocar aqui o teu código para ajudarmos era melhor.
     
  4. jpaulino

    jpaulino Power Member

    Isso não é thread primária e secondária. É apenas uma thread!
     
  5. jpaulino

    jpaulino Power Member

  6. wedlled

    wedlled Power Member

    Bem, já resolvi a questão como tinha dito no 1º post.

    @jpaulino: Epá, sim é tudo threads.Tava a falar em algo do género: primária aka onde corre o meu ciclo principal; secundária aka não tão importante.

    Obrigado na mesma malta, podem fechar.
     
  7. jpaulino

    jpaulino Power Member

    Threads são processos que correm independentemente e o que fazes são várias instâncias de um form a correr na mesma thread, o que é muito diferente. Ou seja, se um form estiver a gravar dados o outro não consegue ir lá buscar dados em simultâneo. Primeiro acaba uma tarefa e só depois a outra é concluída.

    Mas se já está a funcionar como queres isso é o que interessa.
     
  8. KiKas

    KiKas Power Member

    threads não são processos! Os processos têm 1 ou mais threads...
     
  9. jpaulino

    jpaulino Power Member

    Sim a palavra foi mal utilizada! :)
     
Estado do Tópico:
Fechado a novas mensagens.

Partilhar esta Página