Fórum Rotina Genérica para Controlar os Acessos #279587
29/04/2005
0
Voces devem ter conhecimento de uma rotina usada para capturar erros do sistema que consiste em setar a variavel Application.OnException := Minha_Rotina_Trata_Erros, onde nessa rotina, por exemplo eu posso estar fazendo um insert numa tabela do banco de dados destinada a armazenar os erros ocorridos no sistema. Gostaria de fazer algo parecido, mas para controlar os formularios que o usuario entrou. Isso seria relativamente simples de resolver se colocarmos a chamada a uma funcao em cada formulario, onde nessa funcao eu estaria fazendo um insert numa tabela do banco de dados destinada a armazenar os formularios acessados pelo usuario. Porem, eu gostaria de fazer algo generico, sem ter que ficar colocando a chamada a essa funcao em cada formulario. Naquele esquema do onException (quando ocorre o erro, dispara automaticamente a funcao). Essa questao é realmente brava, né? Se vc souber de algo que resolva esta questao, favor me dá um toque.
Grato pela atencao,
[]´s,
André
Andremelim
Curtir tópico
+ 0Posts
29/04/2005
Andremuller
Acho que você só vai conseguir resolver esse problema se também utiliza essa política porque a questão pode então ser facilmente resolvida.
Vá no ancestral e crie um insert pegando o código do usuário logado no sistema mais o Self.Name do formulário que vai retornar o nome do objeto atual, indiferente do método ser disparado no ancestral.
Se não tiver, dá pra fazer uma outra coisa;
Ao invés de disparar direto Form1.ShowModal crie um método tipo
function TForm1.ShowFormModal(AFrm: TForm): integer; var ClassName: string; begin InsereFormParaUsuarioConectado(AFrm.Name); Result := AFrm.ShowModal; end;
que você dispara assim
procedure TForm1.Button1Click(Sender: TObject); begin ShowFormModal(TForm2.Create(Application)); end;
Era isso? É que a questão não estava 100¬ clara pra mim
Gostei + 0
29/04/2005
Andremuller
var
ClassName: string
do primeiro método, aquilo eu estava usando pra bolar outra solução
Gostei + 0
29/04/2005
Motta
1) Crie um form com a funcionalidade que se quer.
2) ´Na mão´ troque a herança dos formularios que são herdeiros de TForm para o novo Form pai.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)