Eu já tive problemas utilizando TClientDataSet em memória parecido com isso
devido a grande quantidade de registros, sem falar no desempenho deplorável.
Agora utilizo um componente da devart chamado VirtualTable que vem junto com
o ODAC da devart,  mais é pago. Se não me engano, o JEDI VCl tem um
componente chamado TJvMemoryTable, nunca usei, mais acredito ser mais
otimizado.

Em 15 de julho de 2010 18:08, Valdemir (yahoo)
<valdemi...@yahoo.com.br>escreveu:

>
>
> Pessoal estou montando uma rotina para gerar o sped, em um movimento
> pequeno ok a rotina roda legal, mas em um movimento grande ao dar insert no
> CDS da erro Out Of Memory, apos processar um grande numero de registros
>
> Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
> jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro
> leio as tabelas e jogo no CDS, ai no CDS já com os dados no formato do
> governo, faço um loop no cds e gravo para o txt
>
> A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
> mas ao preencher a propriedade FileName com o nome do arquivo ... ele
> começou a gerar os dados em arquivo binário, até ai ok, mas não encontrei
> nenhuma propriedade que eu informo que ele descarregue da memoria ram a cada
> x registros, então mesmo informado a propriedade nome do arquivo .. ele cria
> um arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
> memory, e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
> conseguiu gerar
>
> Da a entender que mesmo informando o FileName, ele continua trabalhando
> somente com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei
> que como esta informado o nome do arquivo, ele automaticamente ao carregar a
> RAM iria salvar os dados em disco, procurei no help mas não encontrei nenhum
> método ou propriedade para isso, antigamente no bde existia uma api para
> isso, mas no ClientDataSet eu não encontrei
>
> Alguém faz idéia do que possa estar ocorrendo ?
>
> Obrigado
> Valdemir
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a