Fórum Sobreposição de evento do ClientDataSet #238554

18/06/2004

0

Estou criando um componente descendendo do TClientDataSet para que no evento AfterPost ele execute uma tarefa pre-determinada, para isso fiz o seguinte:

type
TMeuClientDataSet = class(TClientDataSet)
private
{ Private declarations }
FOnAfterPost: TDataSetNotifyEvent;
procedure AfterPost(DataSet: TDataSet);
protected
{ Protected declarations }
property OnAfterPost: TDataSetNotifyEvent read FOnAfterPost write FOnAfterPost;
public
{ Public declarations }
published
{ Published declarations }
end;
...
procedure TMeuClientDataSet.AfterPost(DataSet: TDataSet);
begin
if Assigned(FOnAfterPost) then
FOnAfterPost(DataSet);
ShowMessage(´Meu comando´);
end;

O que está acontecendo é que após editar e ´postar´ um registro ele não dispara esse AfterPost.

É possível fazer isso? O que fiz de errado?
Se alguem fez o mesmo para outro evento em até mesmo outro componente como o TTable poderá me ser útil.
Obrigado!


Paulomad

Paulomad

Responder

Posts

19/06/2004

Bon Jovi

Nesse caso basta vc dar override no método virtual DoAfterPost:

..........

  public
    procedure DoAfterPost; override;

..........

procedure TSeuClientDataSet.DoAfterPost;
begin
  inherited;
  ShowMessage(´seu comando´); 
end;



Responder

Gostei + 0

20/06/2004

Paulomad

É isso mesmo!
Muito obrigado!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar