|
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 _____________________________________________________ "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 ...
[ ]'s ----------------------------------------------------------------------------------------------------------------- Juliano Lopes - Coordenador de Projetos / Arquiteto de Software
|
|
|
|
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 _____________________________________________________ "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.
[ ]'s ----------------------------------------------------------------------------------------------------------------- Juliano Lopes - Coordenador de Projetos / Arquiteto de Software
|
|
|
|
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 _____________________________________________________ "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
|
|
|
|