UNLOAD NAO FUNCIONA NO LOAD
pessoal...estou chamando um form desta forma (frmcliente.show) ele é um form child...no load deste form tem algumas verificações que eu preciso fazer, caso alguma destas verificações retorne um valor negativo eu faço um unload me (fecho o form)....o problema é que fica voltando para o evento clique de quando eu mandei abrir o form e aparece o seguinte erro (unloaded was form) ... Como eu fecho um form no momento load???
Faça dessa forma:
Option Explicit
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
Private Sub Form_Load()
PostMessage Me.hwnd, WM_CLOSE, 0, 0
End Sub
Não tem como fazer as verificações antes de fazer a chamada do form ?
Já tive esse problema, e bati muito a cabeça mas a solucao só achei com uma POG na chamada do form.
on error goto erro
frmMeuForm.show
erro:
on error goto erro
frmMeuForm.show
erro:
O ideal, seria fazer essas verificações ANTES de entrar no form.
BRESSAN,
Não sei se entendi direito, mas também tive um problema parecido e solucionei mudando o foco antes de carregar o form child.
No meu caso eu tinha uma grid que quando recebia o foco abria o form child. Daà dava o mesmo problema descrito por voce quando eu tentava fechar o child no Load: fechava e abria novamente.
O que fiz foi no evento GotFocus da grid, antes de dar o form.show eu mudava o foco para outo objeto.
on grid got focus
botao_ok.setfocus
formchild.show
Não sei se entendi direito, mas também tive um problema parecido e solucionei mudando o foco antes de carregar o form child.
No meu caso eu tinha uma grid que quando recebia o foco abria o form child. Daà dava o mesmo problema descrito por voce quando eu tentava fechar o child no Load: fechava e abria novamente.
O que fiz foi no evento GotFocus da grid, antes de dar o form.show eu mudava o foco para outo objeto.
on grid got focus
botao_ok.setfocus
formchild.show
Tópico encerrado , respostas não são mais permitidas