Thread X Aumento de Memória
Boa tarde caro colegas....
estou tendo problema com thread e importação de arquivo texto,
testei com meu componente de thread e com o componente do jedi e até com uma thread que montei na unha, e em
ambos os casos, quando executo a thread , o uso de memoria começa a aumentar
sem parar , o normal é 11 mb dai quando chega nos 20 trava, e se eu testar
sem a thread fica na casa dos 11 e vai normal...
dentro do execute da thread é chamado um metodo importar....
onde ele pega o conteudo de um arquivo texto e dá insert em
um clientdataset....alguém sabe pq isso acontece ?
estou tendo problema com thread e importação de arquivo texto,
testei com meu componente de thread e com o componente do jedi e até com uma thread que montei na unha, e em
ambos os casos, quando executo a thread , o uso de memoria começa a aumentar
sem parar , o normal é 11 mb dai quando chega nos 20 trava, e se eu testar
sem a thread fica na casa dos 11 e vai normal...
dentro do execute da thread é chamado um metodo importar....
onde ele pega o conteudo de um arquivo texto e dá insert em
um clientdataset....alguém sabe pq isso acontece ?
Alexandre_sbo
Curtidas 0
Respostas
Nildo
28/07/2005
Boa tarde caro colegas....
estou tendo problema com thread e importação de arquivo texto,
testei com meu componente de thread e com o componente do jedi e até com uma thread que montei na unha, e em
ambos os casos, quando executo a thread , o uso de memoria começa a aumentar
sem parar , o normal é 11 mb dai quando chega nos 20 trava, e se eu testar
sem a thread fica na casa dos 11 e vai normal...
dentro do execute da thread é chamado um metodo importar....
onde ele pega o conteudo de um arquivo texto e dá insert em
um clientdataset....alguém sabe pq isso acontece ?
Qual a quantidade de registros +/- ? O ClientDataSet não salva os dados na memória? nesse caso, o consumo de memória vai aumentar mesmo. E se você chamar a rotina fora da Thread?
Um abraço
GOSTEI 0
Alexandre_sbo
28/07/2005
fora da thread fica normal....e dentro dela naum joga na memoria
pq leio o registro insiro fecho e abro o clientdataset dou append, post
e applyupdate , para cada linha do arquivo
pq leio o registro insiro fecho e abro o clientdataset dou append, post
e applyupdate , para cada linha do arquivo
GOSTEI 0
Nildo
28/07/2005
e dentro dela naum joga na memoria
pq leio o registro insiro fecho e abro o clientdataset dou append, post
e applyupdate , para cada linha do arquivo
Mesmo assim, o ClientDataSet grava os dados na memória, e não em arquivos. Sendo assim, a memória vai inflando. Mas se fora da thread não acontece isso, verifique se você não esta criando algum componente que não esteja sendo liberado, dentro da thread, ou se você executa a thread N vezes e se esquece de dar um Free antes de criar outra.
GOSTEI 0
Alexandre_sbo
28/07/2005
vlw pela ajuda...mas acabei de descobrir que naum tem nada a ver , com a thread, desabilitei ela , e naum sei o que está acontecendo com esse meu aplicativo, só dele ficar no systray , ele está consumindo memoria sem parar , obrigado pela ajuda...vou fazer uma analise no fonte do projeto pra ver o pq ele está fazendo isso....
GOSTEI 0