Usuário com melhor resposta
Fechando o formulário principal não termina o processo em alguns computadores

Pergunta
-
O problema está acontecendo em 2 dos computadores da empresa e em um computador de cliente, mas não conseguimos identificar um padrão.
Consegui reproduzir o erro utilizando um programa simples que apenas abre um OpenFileDialog. O programa deve ser executado pelo próprio executável gerado (NÃO pelo Debug) e ele ainda fica rodando em segundo plano mesmo após fechar. Abaixo segue o código do programa, juntamente com um link para download do projeto e um vídeo demonstrando o erro.
Código
Public Class Form1 Private ofdAbrir As Windows.Forms.OpenFileDialog Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ofdAbrir = New Windows.Forms.OpenFileDialog ofdAbrir.ShowDialog() ofdAbrir.Dispose() ofdAbrir = Nothing End Sub End Class
Como é possível perceber no código acima, só tenho um formulário, logo não é o caso de algum formulário permanecer aberto e também não está relacionado a thrads rodando pois nenhuma é criada.
Veja os links do projeto e do video explicativo.
Projeto: https://drive.google.com/open?id=1d4oJYUjaaZ9xnRj4CX3HXOQPqwMZmE0V
Video: https://drive.google.com/open?id=1sfdVUGQlwYNCQkl1Ht-cJSOb4433sqnT
Eu realizei um outro teste, adicionando Application.Exit, End e Process.Kill (finaliza o processo mas eu não entendo porque preciso disso e eu realmente não gostaria de utilizá-lo)
Video2: drive.google.com/open?id=1pDxeVYxSw9U1tTCDrGDxshBjUFaAAGRe
- Editado Gustavo Salge quarta-feira, 21 de março de 2018 12:26 Links
Respostas
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de março de 2018 20:48
Todas as Respostas
-
-
-
Se a necessidade é fechar o programa por completo após a OpenFileDialog ser fechada, você deve colocar após o ofdAbrir = Nothing a seguinte linha:
Me.Close()
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
-
Na verdade a necessidade NÃO é fechar o programa após a OpenFileDialog ser fechada. Essa foi só uma maneira de reproduzir o problema, chamando uma simples OpenFileDialog através de um botão e logo depois fechando o formulário pelo X. O que se percebe, no computador em questão é que o programa permanece rodando. Seria interessante que eu conseguisse colocar o link do video que fiz para que vocês possam ver o problema.
- Editado Gustavo Salge terça-feira, 20 de março de 2018 17:43
-
O seu programa deve ter algum outro código que está impedindo o fechamento ou colocando em segundo plano. Não existe este comportamento de não fechar o processo no template padrão.
Compartilhe mais do código, inclusive o Program.cs
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Editado Juliano Nunes Silva Oliveira terça-feira, 20 de março de 2018 19:40
-
Tente assim:
Private Sub form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Application.Exit() End Sub
MARIANO1776
- Sugerido como Resposta Lucio Rogerio SPBanned quarta-feira, 21 de março de 2018 10:39
-
O seu programa deve ter algum outro código que está impedindo o fechamento ou colocando em segundo plano. Não existe este comportamento de não fechar o processo no template padrão.
Compartilhe mais do código, inclusive o Program.cs
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
Segue o link do projeto e o video explicativo e você verá que não tem mais nada no projeto. Repetindo, isso só acontece em 2 de 30 computadores aqui da empresa. Estou imaginando alguma incompatibilidade entre programas instalados ou comportamento do sistema operacional, sendo este último intrigante pois aconteceu no windows 7 e 10.
Veja os links do projeto e do video explicativo.
Projeto: https://drive.google.com/open?id=1d4oJYUjaaZ9xnRj4CX3HXOQPqwMZmE0V
Video: https://drive.google.com/open?id=1sfdVUGQlwYNCQkl1Ht-cJSOb4433sqnT
Eu realizei um outro teste, adicionando Application.Exit, End e Process.Kill (finaliza o processo mas eu não entendo porque preciso disso e eu realmente não gostaria de utilizá-lo)
Video2: drive.google.com/open?id=1pDxeVYxSw9U1tTCDrGDxshBjUFaAAGRe
-
Tente assim:
Private Sub form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Application.Exit() End Sub
MARIANO1776
Eu realizei essa tentativa sem sucesso. Veja os links do projeto e do video explicativo.
Projeto: https://drive.google.com/open?id=1d4oJYUjaaZ9xnRj4CX3HXOQPqwMZmE0V
Video: https://drive.google.com/open?id=1sfdVUGQlwYNCQkl1Ht-cJSOb4433sqnT
Eu realizei um outro teste, adicionando Application.Exit, End e Process.Kill (finaliza o processo mas eu não entendo porque preciso disso e eu realmente não gostaria de utilizá-lo)
Video2: drive.google.com/open?id=1pDxeVYxSw9U1tTCDrGDxshBjUFaAAGRe
-
Boa noite.
Como você disse, é apenas um computador que não finaliza o processo.
Quais as configurações dele?
Processador
Placa
Memória
etc.
Muitos, ou quase todos, metem o pau no windows pelos problemas que apresenta, mas se formos ver a quantidade de possibilidades de configurações distintas, veremos que é um milagre o windows funcionar tão bem.
Já peguei problemas semelhantes ao seu, sem solução lógica e resolvendo com contornos, isto quando a solução para este computador não fica incompatível com outros que funcionavam corretamente.
Resumindo: não sei a explicação. Chamemos os universitários.
MARIANO1776
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de março de 2018 20:48