Array
(
)

Utilização do metodo ClientDataSet.CreateDataSet?

Macario
   - 27 dez 2005

Ola programadores, boa noite;

Estou com duvida quando utilizo o metodo

#Código


ClientDataSet.CreateDataSet;
ClientDataSet.Open;


Quando mando

ClientDataSet.Close;

ele é eliminado da memoria? ou qual o metodo correto para tratar. :?:

Grato.


Sourcecode
   - 27 dez 2005

Ao usar o CreateDataset você cria uma espécie de MemoryDataset, dá pra trabalhar normalmente nele, só não dá pra usar commandtext, quanto ao Close simplesmente fecha o dataset, se você usar o open denovo ele volta a exibir os dados, para liberar a memória use ClientDataset.EmptyDataSet; Outra coisa, não precisa usar CreateDataset antes de cada open, basta chamar o método apenas uma vez, mesmo depois de usar EmptyDataset; a não ser que você queira resetar ele, não precisaria.


Macario
   - 04 jan 2006

Não compreendi.

Como o ClientDataset.EmptyDataSet libera da memoria, sendo que depois não preciso cria-lo novamente?

Outra coisa, estou errando ao sempre que vou utilizar o temporario aplicando a chamada: ClientDataSet.CreateDataSet.

Estou com essa duvida pois acho que estou ´esgotando´ pouco a pouco a memoria da maquina.


Grato. :roll:


Sourcecode
   - 04 jan 2006


Citação:
Não compreendi.

Como o ClientDataset.EmptyDataSet libera da memoria, sendo que depois não preciso cria-lo novamente?

Outra coisa, estou errando ao sempre que vou utilizar o temporario aplicando a chamada: ClientDataSet.CreateDataSet.

Estou com essa duvida pois acho que estou ´esgotando´ pouco a pouco a memoria da maquina.


Grato. :roll:


Ele só libera os registros da memória... os fields continuam lá... se quiser liberar toda a memória vai ter que usar .free;

CreateDataSet só uma vez mesmo, se usar denovo vai estar chovendo no molhado

Não creio que seja isso, mas pode ser se você armazena uma grande quantidade de registros nele... usando EmptyDataset ele deveria liberar a memória utilizada...

Se você ainda estiver desconfiado, tenta usar o TMemoryDataset da RxLib pra testar... aqui nunca tive problemas com o clientdataset...