-->

terça-feira, 6 de maio de 2008

Conventional Memory Exhausted

Já fazia muito tempo que eu não via uma mensagem assim.

A reclamação do cliente não incluia mensagem alguma. O usuário explicou que de uma hora para outra "o computador voltava para a tela inicial". Eu imaginei que ele quisesse dizer que o PC estava resetando, mas quando pedi uma demonstração foi que entendi o que ele quis dizer: o programa fechava abruptamente e o desktop (a "tela inicial") voltava a ficar visível.

Nenhuma mensagem de erro era exibida, mas como era um programa DOS isso não queria dizer que não houvesse uma.

Nas propriedades do atalho para o programa, eu desmarquei "fechar ao sair" e pedi que o usuário repetisse o teste. Não demorou para o programa encerrar, mas como "fechar ao sair" estava desmarcado eu pude ver a mensagem de erro bem no meio da tela do programa:

GET (0) Unrecoverable error 5302: Conventional memory exhausted


Eu encontrei várias páginas com muito blá-blá-blá (e algumas repletas de besteiras) sobre o problema, mas apenas uma realmente esclarecedora.

Então eu me certifiquei de que o arquivo autoexec.nt (o programa rodava sob Windows XP) contivesse a seguinte linha:

set CLIPPER=F200;E0

Se me recordo bem, a linha "set CLIPPER=F200" existia. Faltava apenas o ";E0"

E o problema se foi. Já passou-se um mês sem ocorrência. E acontecia todos os dias.

3 comentários:

  1. Bons tempos do Clipper! :)
    O F200 é para dizer que o programa vai poder lidar com até 200 arquivos (DBF) abertos ao mesmo tempo (o F é de files), mas o E0 eu não conhecia. Pelo que entendi no forum da CA, isso desliga o uso da expanded memory, só não entendí como isso resolve o problema com o estouro da memória convencional.

    ResponderExcluir
  2. Roberto,

    Eu também não entendi a relação, mas certamente resolveu o problema. Aparentemente o clipper faz uso mais racional da memória convencional quando não pode usar memória expandida.

    ResponderExcluir
  3. Não faço ideia pra que serve esses códigos, mas a verdade é que fez um programa de automação comercial que uso baseado em DOS funcionar! kkkkkk Obrigado

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.