PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Dúvidas ClientDataSet #229754

04/05/2004

0

Estou usando o seguinte código em um botão:

  Query := TIBQuery.Create(Self);
  Prov  := TDataSetProvider.Create(Self);
  CliDS := TClientDataSet.Create(Self);
  DS    := TDataSource.Create(Self);

  Query.Database    := IBDatabase1;
  Query.Transaction := IBTransaction1;
  Query.SQL.Add(Edit1.Text);

  Prov.DataSet := Query;
  Prov.Name := ´Prov´;

  CliDS.ProviderName := Prov.Name;

  DS.DataSet := CliDS;

  DBGrid1.DataSource := DS;

  CliDS.Active := True;


meu DBGrid mostra tudo como se deve.

Mas se eu uso o código dentro de uma classe criada por mim, TCliente por exemplo:

constructor TCliente.Create;
begin
  Query := TIBQuery.Create(Query);
  Prov  := TDataSetProvider.Create(Prov);
  CliDS := TClientDataSet.Create(CliDS);
  DS    := TDataSource.Create(DS);

  Query.Database    := IBDatabase1;
  Query.Transaction := IBTransaction1;
  Query.SQL.Add(Edit1.Text);

  Prov.DataSet := Query;
  Prov.Name := ´Prov´;

  CliDS.ProviderName := Prov.Name;

  DS.DataSet := CliDS;
end;


e depois no botão crio a classe e tento utilizar suas propriedades:

var
  Cliente: TCliente;
begin
  Cliente := TCliente.Create;
  Cliente.Query.SQL.Add(Edit1.Text);
  DBGrid1.DataSource := Cliente.DS;
  Cliente.CliDS.Active := True;  =====>>>> o problema ocorre nessa linha
end;


recebo a mensagem ´Missing Data Provider or data packet´

Alguém sabe o que fazer?

PS: Minha classe deriva de TObject.

Obrigado.


Gabriel Ferrarini

Gabriel Ferrarini

Responder

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

Aceitar