UNLOAD NAO FUNCIONA NO LOAD

BRESSAN 18/03/2011 08:45:07
#368371
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???
JONATHANSTECKER 18/03/2011 08:59:00
#368376
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
FEDERHEN 18/03/2011 09:04:25
#368378
Não tem como fazer as verificações antes de fazer a chamada do form ?
SACOFRITO 18/03/2011 09:21:40
#368381
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:
KERPLUNK 18/03/2011 09:57:14
#368390
O ideal, seria fazer essas verificações ANTES de entrar no form.
CLAUDIO1404 18/03/2011 10:04:42
#368392
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


Tópico encerrado , respostas não são mais permitidas