USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Evento no botão fechar do Form
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 18/08/2005 08:26 hs            
Juliano,
Deixa eu te fazer uma pergunta:
 
Minhas aplicações não se iniciam e nem terminam nos forms... Sempre inicializo em um método Main e encerro em um outro método, que libera a memoria de alguns objetos globais, e encerra a aplicação com um END.
Tem como eu saber, dessa forma, se o sistema esta sendo finalizado pelo usuário ou pelo sistema (Task Manager, Logoff, etc...) ???
Seria interessante pra mim saber disso...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
Mr.Data
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 18/08/2005 10:34 hs            
Elieser,
Mas sua aplicação, apesar de chamar essa sub prá terminar, no momento do END, ela tem alguma instância de form aberta? Se sim, até dá para passar. Mas se a base não tiver jeito, tiver que ser o END, fui até dar uma pesquisada a respeito que me interessou. Dei uma olhada direto no que a MS diz sobre isso:
 

Note   The End statement stops code execution abruptly, without invoking the Unload, QueryUnload, or Terminate event, or any other Visual Basic code. Code you have placed in the Unload, QueryUnload, and Terminate events of forms and class modules is not executed. Objects created from class modules are destroyed, files opened using the Open statement are closed, and memory used by your program is freed. Object references held by other programs are invalidated.

The End statement provides a way to force your program to halt. For normal termination of a Visual Basic program, you should unload all forms. Your program closes as soon as there are no other programs holding references to objects created from your public class modules and no code executing.

Em outras palavras, tecnicamente não. Estou dando uma pesquisada se há como se criar um Callback, via WindowsProc talvez, para se certificar disso. O grande problema é parar o END, que como especificado, é um jeito de dar HALT no programa, não de parar ele normalmente. E só agora que eles falam, hehehe ... Emoções

 


[ ]'s

-----------------------------------------------------------------------------------------------------------------

Emoções Juliano Lopes - Coordenador de Projetos / Arquiteto de Software Emoções

   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 18/08/2005 13:36 hs            
Juliano,
 
O END nao eh obrigatorio... utilizo ele apenas para forçar liberar memoria (o vb costuma deixar memoria alocada, mesmo apos um Set x = Nothing)...
O meu problema eh q a aplicação nao termina quando o ultimo form é descarregado. Existe uma rotina (eu a chamo ExitMain()) que libera os objetos globais, desconecta banco de dados, destrava arquivos, fecha rede, internet, etc... alem de gravar um log da hora q o sistema foi encerrado.
Eh justamente nesse log q estou pensando... queria informar o porque o prog foi fechado. Eu ja sei q quando ele foi aberto, mas nao tem log fechando, deu erro fatal... mas queria implementar mais...
 
Mas acho q já pensei em algo... Essa rotina (ExitMain) eh chamada no Unload o form Principal da app (um MDI)... entao, vou verificar o UnloadMode deste form e passar como parametro...
 
Mesmo assim, se vc tiver outra ideia de como fazer, estarei esperando...
Tb vou estar pesquisando a respeito...
 
Flw, amigo... obrigado...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
Mr.Data
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 18/08/2005 13:37 hs            
Elieser,
dê uma olhada neste tópico inteiro, na verdade, no post específico que irá abrir. É exatamente o que eu tinha em mente. Pelo menos os eventos cobrem uma eventual queda pelo sistema (WM_ENDESSION e WM_QUERYENDSESSION). Talvez só falte restaurar o WindowProc ao finalizar o programa, mas acho que não dará problemas. Teste e veja o que consegue. Emoções
 
 

[ ]'s

-----------------------------------------------------------------------------------------------------------------

Emoções Juliano Lopes - Coordenador de Projetos / Arquiteto de Software Emoções

   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 19/08/2005 08:29 hs            
Ok, juliano
 
Vou dar uma olhada... valeu...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
jk
não registrado
ENUNCIADA !
Postada em 31/05/2011 08:43 hs   
kj
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página