AO FECHAR SISTEMA NO WIN7 DA MSG

PRIBENA 30/09/2011 11:48:38
#385588
Ao fechar o sistema no win7 dá um aviso que o sistema parou de funcionar, como se parasse de responder.
O que pode ser isso e como pode ser resolvido?
PRIBENA 30/09/2011 13:21:23
#385598
Private Function chamarSair() As Boolean

On Error GoTo erros

[ô]Denis - 03/03/2009
[ô]Salva as configurações do sig
[ô]----------------------------------------------
salvarConfig
[ô]----------------------------------------------

[ô]se não foi feito logoff
If Gconn.State = 1 Then
FuncateAcesso.encerrarControleAcesso
End If

FuncateConexao.FinalizaConexao

Set Gconn = Nothing

[ô]Finaliza conexao Controle de Acesso
FuncateAcesso.conexao = Gconn

[ô]Finaliza conexao Historico
FuncateHistorico.conexao = Gconn

End

Exit Function
erros:
Set Gconn = Nothing
gsNomeMetodoOrigem = gsNomeMetodoOrigem & [Ô]chamarSair[Ô] & [Ô]; [Ô]
Err.Raise Err.Number

End Function
TEMPESTADE 30/09/2011 15:36:15
#385603
Private Function chamarSair() As Boolean

On Error GoTo erros

[ô]Denis - 03/03/2009
[ô]Salva as configurações do sig
[ô]----------------------------------------------
salvarConfig
[ô]----------------------------------------------

[ô]se não foi feito logoff
If Gconn.State = 1 Then
FuncateAcesso.encerrarControleAcesso
End If

FuncateConexao.FinalizaConexao

Set Gconn = Nothing

[ô]Finaliza conexao Controle de Acesso
FuncateAcesso.conexao = Gconn

[ô]Finaliza conexao Historico
FuncateHistorico.conexao = Gconn

End

Exit Function
erros:
Set Gconn = Nothing
gsNomeMetodoOrigem = gsNomeMetodoOrigem & [Ô]chamarSair[Ô] & [Ô]; [Ô]
Err.Raise Err.Number

End Function


Experimenta tirar o End desta função e colocar dentro do evento Form_Unload
ANDPAG 30/09/2011 15:46:43
#385607
Resposta escolhida
Tenta isso aqui...

[ô]Declaração de API
Private Declare Function SetErrorMode Lib [Ô]kernel32[Ô] (ByVal wMode As Long) As Long

[ô]Sub
Public Sub fecharPrograma()
On Error Resume Next

[ô]Fechar e destruir todos os forms
Dim Frm As VB.Form
For Each Frm In VB.Forms
Unload Frm
Set Frm = Nothing
Next

Const SEM_NOGPFAULTERRORBOX As Long = &H2&
If CBool(VB.App.LogMode()) Then [ô]Não está rodando na IDE
Call SetErrorMode(SEM_NOGPFAULTERRORBOX) [ô]Evita a janela de GPL da microsoft...
End If
End Sub

[ô]Modo de uso dentro do unload do seu form principal

Private Sub Form_Unload(Cancel As Integer)
Call fecharPrograma
Set Form1 = Nothing
End Sub


abs
PRIBENA 30/09/2011 16:12:01
#385611
Obrigada pelas respostas
vou tentar a mais simples primeiro, tirar o End do método e colocar no unload
Caso não dê certo farei a mais complexa, do método FecharPrograma

Obrigada mesmo ...
Até q vcs estão inspirados para uma sexta feira!
Tópico encerrado , respostas não são mais permitidas