como trabalhar com eventos ?
tenho a seguinte duvida:
ex:
tenho uma TADOQuery que é criada em tempo de execução
um metodo qualquer:
[b:619ba90f53]duvida:[/b:619ba90f53]
como executar o metodo:´MetodoQualque´ no evento AfterPost da Query ´qyr´ em tempo de execução
ex:
tenho uma TADOQuery que é criada em tempo de execução
qry := TADOQuery.Create(self); try // codigo à ser executado ... finally FreeandNil(qry); end;
um metodo qualquer:
procedure MetodoQualque; begin // ... end;
[b:619ba90f53]duvida:[/b:619ba90f53]
como executar o metodo:´MetodoQualque´ no evento AfterPost da Query ´qyr´ em tempo de execução
Fabiano Góes
Curtidas 0
Respostas
Renato.pavan
04/01/2007
[quote:0d2e904909=´Fabiano Góes´]como executar o metodo:´MetodoQualque´ no evento AfterPost da Query ´qyr´ em tempo de execução[/quote:0d2e904909]
Basta vc criar seu ´MetodoQualquer´ com os mesmos parametros qdo o metodo é criado diretamente no AfterPost da query.
Exemplo
Depois na sua query criada dinamicamente vc atribui ao afterPost a procedure ´´MetodoQualquer´.
Exemplo
Espero ter ajudado em sua duvida.
[]´s
Renato
Basta vc criar seu ´MetodoQualquer´ com os mesmos parametros qdo o metodo é criado diretamente no AfterPost da query.
Exemplo
procedure MetodoQualquer(DataSet: TDataSet); begin // end;
Depois na sua query criada dinamicamente vc atribui ao afterPost a procedure ´´MetodoQualquer´.
Exemplo
qry := TADOQuery.Create(self); try qry.AfterPost := MetodoQualquer; finally FreeandNil(qry); end;
Espero ter ajudado em sua duvida.
[]´s
Renato
GOSTEI 0
Massuda
04/01/2007
A procedure que trata um evento deve ser obrigatoriamente um método de uma classe, não pode ser um procedure ´solta´ na unit, como você fez. Normalmente, a procedure utilizada é um método de um form ou data module.
GOSTEI 0
Michael
04/01/2007
Um breve comentário: ao se criar componentes em run-time, deve-se tomar cuidado na hora de escolher o seu [b:c80701acfe]Owner[/b:c80701acfe]. Se vc mesmo for destruí-lo, como no exemplo deste post, então use [b:c80701acfe]nil [/b:c80701acfe]no lugar de [b:c80701acfe]Self[/b:c80701acfe]. Do contrário, quando o objeto referenciado por [b:c80701acfe]Self [/b:c80701acfe]- neste caso, aparentemente o form - for destruído, ele tentará liberar o [b:c80701acfe]TQuery[/b:c80701acfe], inclusive enviado notificações para todos os componentes da sua lista interna, gerando um overhead desnecessário.
Regra: se vc mesmo cria e destroi, use [b:c80701acfe]nil [/b:c80701acfe]no construtor.
[]´s
Regra: se vc mesmo cria e destroi, use [b:c80701acfe]nil [/b:c80701acfe]no construtor.
qry := TADOQuery.Create(nil); try qry.AfterPost := MetodoQualquer; // Faz alguma coisa com qry finally FreeandNil(qry); end;
[]´s
GOSTEI 0
Douglas Carvalho
04/01/2007
Queria aprender mais sobre comandos sql no delphi tipo apagar editar incluir salvar alguém pode me passar materiais relacionados a isso desde ja agradeço
GOSTEI 0