GARANTIR DESCONTO

Fórum EOutOfMemory #335905

10/01/2007

0

Minha aplicação começou a apresentar o erro EOutOfMemory.
Este erro ocorre normalmente quando estou mexendo em um TChart (criando, dando zoom, removendo zoom). Também acontece as vezes quando tento alterar alguma célula no TStringEdit e já aconteceu poucas vezes quando tento manipular um array de char.

Alguém já teve este erro ou tem alguma idéia do que acontece?


Rodc

Rodc

Responder

Posts

10/01/2007

Aroldo Zanela

Colega,

No caso de componentes de terceiros, fica difícil proteger o código. Minha sugestão é que você aumente o tamanho do arquivo de paginação da memória virtual, se possível, adicionar mais memória física (RAM) na máquina e atualize seus componentes de terceiros.
No seu código, pode ser usado o bloco try...except conforme o exemplo abaixo:

  Ready := true;
  try
    SetLength(pixels, width*height);
  except
    on EOutOfMemory do
    begin
      Ready := false;
      raise Exception.Create(´Putz -- Out of memory´);
    end;
  end; // try



Responder

Gostei + 0

11/01/2007

Rodc

Já aumentei a memória virtual e a máquina tem bastante memória física, mas ainda ocorre o erro.

Percebi que removendo uma rotina de acesso à serial o erro para de ocorrer. O erro só ocorre se eu estiver manuseando o TChart e comunicando com a serial.
Possivelmente o erro não é na serial, mas sim no alocamento de memória que a função faz para pegar os dados da serial.

Não sei mais o que fazer, porque não posso parar a comunicação serial com meu instrumento enquanto o usuário estiver analisando o gráfico.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar