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]

Responder a