Fechar um form no evento OnShow
19/05/2006
0
Estou fazendo uma rotina para validar o perfil de acesso dos usuarios no sistema. Gravo as permisoes em uma string q fica armazenada no banco de dados.
Uso uma herança de formularios... No form pai eu coloco todos os eventos comuns para todos os formularios q eu criar...
Eu queria saber se existe uma forma de forçar o fechamento de um formulario no Evento OnShow.
Por exemplo: Um usuario clica para abir uma tela. No form Pai eu tenho uma rotina para verificar se o usuario logado tem acesso aquela tela. Eu queria q no Show do formulario, dependento da resposta da verificacao, o form fechasse depois de uma msg de Acesso Negado.
Se alguem tiver alguma dica eu agradeço.
Valeu
rocedure TFrModeloCadastro.FormShow(Sender: TObject);
begin
Paginas.ActivePage := Acesso;
TbPrincipal.Open;
TbPrincipalOrderingChanged(TbPrincipal);
edPesquisa.SetFocus;
Screen.Cursor := crDefault;
if VerificaPermissao(FrPrincipal.PerfilAcesso,cod_tabela) = ´NAO PERMITIDO´ then
begin
MessageDlg(´Acesso não permitido´, mtWarning, [mbOK], 0);
Close;
end;
end;
Colerapunk
Post mais votado
22/05/2006
PostMessage(FrCadastroEmpresa.Handle, WM_CLOSE, 0, 0);
Rodc
Mais Posts
19/05/2006
Colerapunk
mas pensei q tivesse outra forma de resolver.... so pra nao ficar usando um compenete pra fechar a tela...
Valeu
22/05/2006
Rodc
E tem sim, por sinal, quanto menos Timer seu sistema usar melhor!
Teste com o código abaixo:
PostMessage(Form1.Handle, WM_CLOSE, 0, 0);
22/05/2006
Colerapunk
PostMessage(Form.Handle, WM_CLOSE, 0, 0) funciona blz se for executado no proprio form
No meu caso estou usando um formulario padrao... todos os outros formularios sao decendentes de form padrao... A rotina de fechar a tela esta no formulario padrao e este comando de fechar a janela tem que ser excutado neste form padrão
Tipo assim:
PostMessage(FrModeloCadastro.Handle, WM_CLOSE, 0, 0);
onde FrModeloCadastro é o formulario pai, todos os outros form de cadastro descendem dele.
Esta dando um erro qdo o comando é executado. Talvez pq este form padrao nao é criado apenas o form q descende dele... teria uma forma de resolver isso?
Valeu
22/05/2006
Massuda
PostMessage(Handle, WM_CLOSE, 0, 0);
Clique aqui para fazer login e interagir na Comunidade :)