Olá Reinaldo! Enquanto a sua aplicação executa fica de olho no consumo de memória do FIREBIRD. Talvez o banco de dados não esteja suportando. Se possível envia a estrutura da tua tabela onde são armazenados os arquivos, indicando qual é a chave primária. Configura também se os arquivos estão sendo comitados corretamente. Veja se o último arquivo enviado não está sobrescrevendo os anteriores.
Falou! Em 30/4/2010 10:26, Reinaldo Aparecido Pereira escreveu: > > 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]