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