Fiz o teste comitando a cada arquivo importado. Também não funcionou. Note que fiz a leitura do arquivo num TSTringlist (stlArquivo).
Só para ter certeza absoluta, em cada interação do for liberei stlArquivo mais ainda assim continua o OUT OF MEMORY. Tá difícil descobrir o que é. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Murilo Cunha Enviada em: sexta-feira, 30 de abril de 2010 10:34 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Out off memory - Socorro Reinaldo, Acho que vc poderia COMMITAR a cada 100 arquivos importados. Acho q eh esse o problema... estouro de transacao! Obrigado MuriloCunha On 30/04/2010 10:26, Reinaldo Aparecido Pereira wrote: > Amigos, > > Não entendo de gerenciamento de memória e o que tenho lido não resolveu meu > problema. Estou com a rotina abaixo que importa o conteúdo de 1000 arquivos > para um banco Firebird. Lá pelo arquivo 600 a aplicação trava e dá OUT OFF > MEMORY. O executável é muito pequeno e acompanhando o processo não parece > ocupar quase nada de memória. > > O que acontece afinal? > > Como posso resolver isso? > > Grato.. > > > > > > for i := 0 to Arquivos.Count - 1 do > > begin > > ProgressBar1.Position := i; > > Arquivos.ItemIndex := i; > > stlArquivo.Clear; > > stlArquivo.LoadFromFile(Arquivos.Items[Arquivos.ItemIndex]); > > for x := 0 to stlArquivo.Count - 1 do > > begin > > //tblArtigos.Active := true; > > tblArtigos.Append; > > tblArtigos.FieldByName('ANO').Text := cbAno.Text; > > tblArtigos.FieldByName('NUM_LINHA').Value := x; > > tblArtigos.FieldByName('PK_ARQUIVO').Text := > Trim(Arquivos.Items[Arquivos.ItemIndex]); > > tblArtigos.FieldByName('LINHA').Text := > Copy(Trim(stlArquivo[x]), 0, 999); > > tblArtigos.Post; > > end; > > end; > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > [As partes desta mensagem que não continham texto foram removidas]