Clonar DataSets

Delphi

13/09/2004

Olá!!
Gostaria de saber como faço para duplicar um TDataSet, não estou conseguindo pois não tem a propriedade Cursor/Handle, estava usando TTable que funcionava usando a Api DbiCloneCursor.
Como fazer com TDataSet??



Grato pela Atenção.!!!


_nobody_

_nobody_

Curtidas 0

Respostas

Khundalini

Khundalini

13/09/2004

A propriedade Handle é particular de todos os datasets que sejam herdados da classe TBDEDataSet. E se você não percebeu, a classe TDataSet é a classe pai (ou classe base) para todo e qualquer tipo de componente que irá exibir e manipular dados. Devido a isso, não existe (e tampouco faz sentido) meios de clonar um TDataSet, pois ele possui apenas elementos abstratos básicos para que sejam criados novos componentes para acessar vários tipos de dados.

Se quiser uma explicação melhor sobre isso, me contacte.
MSN: djpardalrocha@hotmail.com
ICQ: 16470717

[]s
Rubem Rocha
Manaus, AM


GOSTEI 0
Adilsond

Adilsond

13/09/2004

O que voce deve clonar é o TClientDataSet.

  private
    { Private declarations }
    CdsClone : TClientDataSet;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  CdsClone := TClientDataSet.Create(nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CdsClone.CloneCursor(ClientDataSet1, False, False);
  DataSource2.DataSet := CdsClone;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  CdsClone.Close;
  CdsClone.Free;
end;



GOSTEI 0
Khundalini

Khundalini

13/09/2004

Sim, o TClientDataSet tem recursos para se clonar. Mas o TDataSet não tem, por ser uma classe abstrata, com os elementos básicos que são implementados SOMENTE em suas classes derivadas.

[]s
Rubem Rocha
Manaus, AM


GOSTEI 0
POSTAR