Array
(
)

Evento do ClientDataset

Felipe Ip
   - 18 mar 2010

Tenho um ClientDataset que esta em um datamodule, tem como eu usar o evento afterscroll dele mas em um outro formulario ?   Abs  

Pjrm1470
   - 19 mar 2010

Não tem como não.
Uma maneira mais simples de se usar seria utilizar o evento DataChange do DataSource. Acredito que o seu dts (Datasource) esteja no "outro" formulário. Mas tome cuidado com isso, pois ele funciona como AfterScroll, mas tambem é executado caso você altere alguma informação. É um tratamento muito trabalhoso.

Explique sua situação. Assim posso lhe dar um suporte mais detalhado.

pjrm1470.

0
|
0

Thiago Santana
   - 19 mar 2010

Felipe vc pode incluir um datasource na tela em que vc quer utilizar o evento AfterScroll e conecte o mesmo a tabela referente no seu DM.
Aí vc irá utilizar no evento do datasource da sua tela e não do Dm. Espero ter ajudado!
AbraçoO

0
|
0

Pjrm1470
   - 19 mar 2010

ThiaGo Darlei Santana Souza,

Bem lembrado. Erro meu. Tem como sim.
lembrando que você cria a procedure respeitando o tipo de parametro que a propriedade aceita. Neste caso é:
#Código

procedure(DataSet: TDataSet) of object;

Basta criar uma procedure assim:
#Código
type
  TForm1 = class(TForm)
    ClientDataSet1: TClientDataSet;
    procedure SuaProcedure(Dataset: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.SuaProcedure(Dataset: TDataSet);
begin

end;

end.

E por fim no clientDataSet a sua procedure criada aparecerá para ser selecionada no evento OnAfterScroll, assim como em outros eventos (mas você quer que ela seje para o afterScroll).
Sendo em outro form... coloque "OutroForm.SuaProcedure" no evento.

Agradeço a Thiago por me corrigir.
Qualquer dúvida, da o grito.

Att,
pjrm1470.

0
|
0

Thiago Santana
   - 19 mar 2010

  Falow PJRM1470 .... Sem problemas! Estamos aki para compartilhar conhecimentos...

0
|
0