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]

Responder a