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

 

  Dicas

  Visual Basic    (Forms/MDI)

Título da Dica:  Lidando com erros no evento Load dos formulários
Postada em 2/3/2004 por ^HEAVY-METAL^            
Quando você carrega um formulário e encontra um erro logo no evento Load do form, o que você normalmente quer é dar uma mensagem para o usuário e descarregar o formulário. Porém, você encontra um problema para fazer isto. O problema é que você não pode usar o comando Unload para descarregar um formulário no seu evento Load.

A solução é postar uma mensagem para o formulário que tem o mesmo efeito do comando Unload e será processada após a saída do procedimento de evento Load. Usando a API PostMessage, você pode colocar uma mensagem WM_CLOSE na fila de mensagens da janela e sair do tratamento de erros com a certeza que o form será descarregado na sequência. Veja abaixo a declaração da API PostMessage e o envio da mensagem num tratamento de erros ocorridos durante a carga de um form.

Na seção de declarações do form:

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) As Long


Private Const WM_CLOSE = &H10

No evento Load do form:

Private Form_Load ()

   On Error GoTo ErroLocal

   Dim lngX As  Long

   lngX = 1/0 'produz um erro de divisão por zero

   Exit Sub

ErroLocal:

    MsgBox "Ocorreu um erro de divisão por zero."

   PostMessage hwnd, WM_CLOSE, 0&, 0&

End Sub


Até a próxima,
 


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