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]

Responder a