Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como criar um array de ClientDataSet


Alexandre Malta

Pergunta

Pessoal, tenho que criar vários Grids utilizando ClientDataSet, mas a quantidade de Grids é variável, então pensei em usar um array de ClientDataSet, mas estou com problema na hora de criar os itens desse Array, pois quando tento criá-lo como criaria um ClientDataSet normal ele dá mensagem de Access Violetion

Tentei criar da seguinte maneira:

Declarei uma variável

_Cds : array of TClientDataSet;

To tentando criá-la da seguinte forma:

_Cds[_Cont] := TClientDataSet.Create(nil);

Onde _Cont é o contador de quantos ClientDataSet eu preciso, que varia de 1 até a quantidade especificada pelo usuário.

Alguém sabe onde estou errando???

Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Opa

Antes de voce criar você precisa setar o tamanho de sua array, já que você não setou na variável (array [0..10] of TClientDataSet; nessa caso voce tem 10 do mesmo)

SetLength(_Cds, x)
onde x é referente ao número de ClientDataSets que deseja criar... depois você pode chamar o _Cds(x) := TClientDataSet.Create(nil); exemplo
var
  i: Integer;
begin
  SetLength(_Cds, 10); //damos a ela 10 items

  for i := 0 to 9 do
  _Cds[i] := TClientDataSet.Create(nil);
já que voce está passando nil como Owner, não se esqueça de depois limpar da memória na hora de encerrar o uso dos mesmo ou do aplicativo e pra pegar o tamanho da array voce pode usar o Lenght(_Cds); toda array começa com 0 como index inicial então sempre que for fazer um loop ou chamar uma array, sempre faça do 0 até um número anterior ao tamanho total exemplo 2
var
  i: Integer;
begin
  SetLength(_Cds, 10); //damos a ela 10 items

  for i := 0 to Lenght(_Cds) - 1 do // ouu for i := 0 to Pred(Length(_Cds)) do  (Pred = Predecessor)
  _Cds[i] := TClientDataSet.Create(nil);

abrxx

Editado por Churc
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...