UNLOAD

KIKO.WIZZ 05/02/2011 11:07:18
#364419
Bom dia,
Queria saber se existe alguma forma de bloquear o botão[X] do form (vbModal) por um tempo definido e depois reativá-lo.
Alguns usuários estão fechando o form enquanto uma função está sendo executada...

Alguma idéia ou sugestão? Desde já agradeço.
ARCADYUM 05/02/2011 12:19:53
#364425
Se o usuário não precisar fechar o formulário manualmente você pode modificar a propriedade ControlBox do formulário para false e após a execução das rotinas atribuídas ao Formulário você coloca Unload Nome_do _Formulário.
Espero ter ajudado.
P.S: A propriedade ControlBox não pode ser modificada em tempo de execução. Dá erro.
FININHO 05/02/2011 15:43:35
#364436
use o evento QueryUnload

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

[ô]Aqui você verifica se a função está sendo executada

if Função em execução then
Cancel = True
msgbox [Ô]Função em execução[Ô]
end if

End Sub
KIKO.WIZZ 07/02/2011 08:50:40
#364541
O problema é que eu não posso cancelar a função durante a execução...

Arcadyum, como eu faço pra setar a control box como false? controlbox=false não da certo...
JONATHANSTECKER 07/02/2011 09:10:27
#364542
Resposta escolhida
KIKO.WIZZ 07/02/2011 10:20:44
#364552
Era isso mesmo Jonathan, Obrigado.
PARREIRA 07/02/2011 10:23:01
#364553
Crie uma variável do tipo boleana privada.
Private Bloqueia as boolean

no botão da ação seta ela como true
e no fim da execução seta ela como false.

No evento unload dp form coloque o seguinte.

if bloqueia = true then
msg [Ô]Rotina em andamento [Ô]
Cancel = 1
Exit Sub
endif

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