Fórum Clonar DataSets #250223

13/09/2004

0

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_

Responder

Posts

18/09/2004

Khundalini

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


Responder

Gostei + 0

18/09/2004

Adilsond

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;



Responder

Gostei + 0

18/09/2004

Khundalini

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


Responder

Gostei + 0

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

Aceitar