Solução de Erros do Clipper

ERROS DO CLIPPER: CAUSAS E SUAS PROVÁVEIS SOLUÇÕES

Aqui você encontrará as soluções dos erros em tempo de execução, compilação etc.

Contribua também! Registre-se e inclua uma nova subpágina ou comente as soluções.

 

 

 

Clique nos links abaixo para acessar o conteúdo que você procura.

ERROS EM TEMPO DE EXECUÇÃO / RUN TIME ERRORS

ERROS EM TEMPO DE EXECUÇÃO / RUN TIME ERRORS

 

Erros de execução recuperáveis são esperados acontecer. Estes erros geralmente ocorrem ou devido a erros no seu programa (tipo de variável inválida, divisão por zero etc.) ou devido a alguma condição do ambiente/environment (falta de file handles, violação de compartilhamento de arquivos, memória baixa etc.). Estes erros são capturados pelo sistema de tratamento de erros (error system) e portanto não terminam o aplicativo necessariamente.



Se o sistema de tratamento de erros padrão estiver sendo usado na aplicação, então os erros serão relatados no seguinte formato:


Erro | Advertência <subSistema>/<subCódigo> <mensagem de texto>
<nome do arquivo> | <operação>

 

 

Vejamos alguns erros abaixo e suas prováveis soluções a seguir.

 

 

 

O que é Term/2014 Create Error (comando SET PRINTER)

 

Causa: O arquivo não pode ser criado ou alterado. 

Solução: Certifique-se de que haja espaço em disco e entradas de diretório/arquivo suficientes porque existe limite de arquivos em um só diretório. Pode ter muito espaço em disco, mas não pode, em hipótese nenhuma, haver mais de 500 arquivos em um só diretório, por exemplo -não sei exatamente quantos são, ok?!

Verifique se  arquivo tem o atributo de "apenas leitura".

Veja se a estação tem direitos de gravação no servidor.

Se estiver em rede, verifique se a impressora remota ou o diretório do servidor (gravando em arquivo) está compartilhado e, portanto, acessível na estação de trabalho.

Determine que os arquivos temporários sejam apagados regularmente. Por exemplo, se seus temporários começam com TMP, exemplo: TMP23421.DBF, e são gravados no diretório C:\TEMP, você pode apor a seguinte linha no seu AUTOEXEC.BAT: IF EXIST C:\TEMP\TMP*.DBF DEL C:\TEMP\TMP*.DBF

 

 

 

 

 

 

Subir

Erros Fatais do Compilador

ERROS FATAIS DO COMPILADOR

ERROS FATAIS DO COMPILADOR / Compiler Fatal Error Messages

Mensagens de Erro Fatal do Compilador

A mensagens de erro fatal do compilador indicam que algum problema muito sério ocorreu durante a compilaçao de um arquivo programa (.prg). Por causa da gravidade do erro, a compilaçao termina imediatamente, sem a geraçao de nenhum arquivo objeto. Nesta caso, o código de retorno do DOS é 1.

O formato geral de uma mensagem de erro fatal é o seguinte:

<arquivo>(<linha>): Error C3xxx <texto>[: <símbolo>]

 

Vejamos alguns erros abaixo e suas prováveis soluções a seguir.

 

 

O que é o Error C3001: Out of memory?

Causa: Memória insuficiente para continuar a compilação.

Solução: 1. Reduza o número de funções ou procedures compiladas em um arquivo objeto; 2. Reduza o número de diretivas de pré-processamento; 3. Retire os programas residentes na memória; 4. Se estiver sendo usado um arquivo de script (.CLP) reduza o número de arquivos especificados no arquivo script.

Subir

 

O que é o Error C3002: Input buffer overflow?

 

Causa: Encontrada uma linha de comando longa demais para o pré-processador.

Solução: Divida a linha de comando em várias menores.

Subir
 

O que é o Error C3003: Can´t open intermediate file?

 

Causa: O compilador criou um arquivo temporário para gravar os resultados intermediários e não pôde abri-lo na última vez.

Solução: Este erro indica que existe algum problema de hardware ou que o disco está danificado; execute um utilitário de reparação de HD (Scandisk/Norton Disk Doctor) para corrigir o problema.

Subir
 

O que é o Error C3004: Bad command line option?

 

Causa: Especificada uma opção inválida ou desconhecida na linha de comando do compilador.

Solução: Para visualizar a lista completa das opções válidas, execute o CLIPPER.EXE sem nenhum argumento e, então, corrija o erro.

Subir

 

O que é o Error C3005: Bad command line parameter?

 

Causa: Especificada uma opção na linha de comando com um argumento desconhecido.

Solução: Para visualizar a lista completa das opções válidas execute o CLIPPER.EXE sem nenhum argumento.

Subir


 

O que é o Error C3005: Bad command line parameter?

 

Causa: Especificada uma opção na linha de comando com um argumento desconhecido.

Solução: Para visualizar a lista completa das opções válidas execute o CLIPPER.EXE sem nenhum argumento.

Subir


 

O que é o Error C3006: Can´t create preprocessed output file?

 

Causa: Ocorreu um erro na criação do arquivo .PPO. Esse erro pode ter ocorrido por várias razões: número insuficiente de "file handles", falta de espaço no disco, ou não permissão para criar arquivos na rede.

Solução: 1. Aumente o número de "file handles" alterando o comando FILES no arquivo CONFIG.SYS ou aumente o valor do parametro F da variável de ambiente CLIPPER (SET CLIPPER=S1,F200 -Por exemplo.) no AUTOEXEC.BAT. Reinicialize o computador e recompile o programa; 2. Elimine arquivos desnecessários no disco; 3. Solicite ao administrador da rede permissão para a criação de arquivos no diretório usado na compilação.

 

Subir


 

O que é o Error C3007: Can´t open #include file?

 

Causa: O pré-processador não conseguiu abrir o arquivo de cabeçalho especificado através da diretiva #INCLUDE.

Solução: Certifique-se de que o nome do arquivo está correto; Direcione o compilador para a localização correta do diretório onde estão os arquivos de cabeçalho (.CH) com o comando SET INCLUDE no DOS (ponha-o no AUTOEXEC.BAT) ou com a chave /I de compilação.

 

Subir


 

O que é o Error C3008: Bad filename in #include?

 

Causa: Especificado um nome inválido para o arquivo de cabeçalho a ser lido pela diretiva #INCLUDE.

Solução: Coloque o nome do arquivo entre aspas.

Subir


 

O que é o Error C3009: Too many nested #includes?

 

Causa: Encontradas mais de 16 diretivas #INCLUDE intercaladas.

Solução: Reduza o número de diretivas.

 

Subir


 

O que é o Error C3010: Invalid name follows #?

 

Causa: O pré-processador encontrou uma diretiva inválida.

Solução: Verifique a sintaxe da diretiva.

Subir

 

 

O que é o Error C3010: Invalid name follows #?

 

Causa: O pré-processador encontrou uma diretiva inválida.

Solução: Verifique a sintaxe da diretiva.

Subir

 

 

O que é o Error C3011: Can´t open standard rule file?

 

Causa: O compilador não conseguiu abrir o arquivo de cabeçalho padrão (STD.CH) ou o arquivo especificado pela opção /U.

Solução: Verifique se o nome está correto. Direcione o compilador para a localização correta do arquivo com o comando SET INCLUDE= no DOS ou com a chave /I de compilação.

 

Subir
 

Erros de Execução Irrecuperáveis

MENSAGENS DE ERRO IRRECUPERÁVEIS

MENSAGENS DE ERRO DE EXECUÇÃO IRRECUPERÁVEIS / Runtime unrecoverable errors

 

 

São erros que por alguma razão não puderam fazer uso do sistema de tratamento de erros (error system). Assim como os erros de execução (runtime errors), é normal acontecer. É usualmente porque o sistema foi incapaz de executar o code block para tratamento do erro. Quase todos estes erros estão relacionados com o ambiente (falta de memória, erros de leitura de disco etc) e podem ser consertados fazendo uma troca no ambiente.

Sempre tem o seguinte formato:
<operação> (<número da linha>) Unrecoverable error xxxx:<mensagem sobre o erro>

 

 

Vejamos alguns erros abaixo e suas prováveis soluções a seguir.

 

 

 

 

 

 

 

 

O que é Unrecoverable error 332: String/array memory overflow ?

Subir


 

O que é Unrecoverable error 415: Cannot open overlay file ?

 

Causa: Não foi possível encontrar ou abrir um arquivo overlay. Arquivos overlay incluem arquivos executáveis (.EXE), bibliotecas pré-linkeditadas (.PPL) e arquivos overlay estáticos (.OVL). A causa mais comum desste erro é a insuficiência de File Handles disponíveis para a aplicação.

Solução: Certifique-se de que a localização esteja correta e que o número de handles seja suficiente.

 

 

 

 

 

 

Subir

 

O que é o erro Unrecoverable error 24: Write error ?

 

Causa: Erro de gravação em um banco de dados ou índice.

Solução: Verifique se há espaço suficiente no disco e entradas disponíveis no diretório (arquivos demais, FAT esgotada), bem como se o arquivo não está marcado como read-only (apenas leitura). Em rede, verifique se o usuário/aplicação tem permissão de gravar no arquivo.

Subir


 

O que é Unrecoverable error 331: String/array memory overflow ?

 

Causa: Excedida capacidade máxima do Segment Virtual Object Store (SVOS) do Clipper. A causa mais comum deste erro é a existência de declarações de matrizes extremamente grandes, tais como LOCAL matriz1[500][300].

Solução: Reduza o tamanho e/ou o número de strings e matrizes que estejam ativos ao mesmo tempo.

Subir


 

O que é Unrecoverable error 5302: Conventional memory exhausted ?

 

O mesmo que Unrecoverable error 5302/5304/5306/5312 Conventional memory exhausted Veja o de número 5312 para causas e soluções.

Subir


 

O que é Unrecoverable error 5312: Conventional memory exhausted ?

 

Causa: Não existe memória convencional suficiente p/ continuar.

Solução: Deixe mais memória disponível p/ a aplicação: Aumente o valor da opção E da variável CLIPPER, ou deixe mais expaço disponível no disco e aumentando o valor da opção SWAPK da variável CLIPPER; Reduza o tamanho e/ou número de strings e matrizes ativos ao mesmo tempo; Libere mais memória convencional para o Clipper, exclua arquivos TSR (residentes) insignificantes; carregue somente o que necessário no seu Config.sys (com DEVICEHIGH) e Autoexec.bat (com loadhigh, ou LH ).

Subir


 

O que é o Error C3012: Too many standard rules?

 

Causa: Encontradas muitas regras no arquivo-cabeçalho padrão STD.CH ou no arquivo especificado pela opção /U.

Solução: Mova algumas das diretivas #translate ou #command para um segundo arquivo e então use o comando #include para incluir este arquivo no início de cada .PRG da aplicação/sistema.

 

Subir


 

O que é o Error C3012: Too many standard rules?

 

Causa: Encontradas muitas regras no arquivo-cabeçalho padrão STD.CH ou no arquivo especificado pela opção /U.

Solução: Mova algumas das diretivas #translate ou #command para um segundo arquivo e então use o comando #include para incluir este arquivo no início de cada .PRG da aplicação/sistema.

 

Subir


 

O que é o Error C3013: Expression stack overflow?

 

Causa: Encontrada uma procedure ou função muito grande, ou uma expressão muito complexa.

Solução: Divida a procedure, função ou expressão em partes menores.

 

Subir

 

 

O que é o Error C3014: Expression stack underflow?

 

Causa: Encontrada uma procedure ou função muito grande, ou uma expressão muito complexa.

Solução: Divida a procedure, função ou expressão em partes menores.

 

Subir

 

 

O que é o Error C3015: Control stack overflow?

 

Causa: Encontradas muitas estruturas de controle de fluxo de execução intercaladas umas dentro das outras.

Solução: Simplifique a lógica do programa.

 

Subir

 

 

O que é o Error C3016: Control stack underflow?

 

Causa: Encontradas muitas estruturas de controle de fluxo de execução intercaladas umas dentro das outras.

Solução: Simplifique a lógica do programa.

 

Subir


 

O que é o Error C3017: Error reading or opening script file?

 

Causa: O compilador não conseguiu encontrar ou abrir o arquivo de script (.CLP) especificado.

Solução: Certifique-se de que o arquivo esteja no diretório corrente, ou informe o caminho como parte do nome do arquivo script.

 

Subir


 

O que é o Error C3018: Too many symbols?

 

Causa: O programa fonte, que está sendo compilado no arquivo objeto corrente, usa muitos símbolos.

Solução: Simplifique o programa para reutilizar nomes de variáveis, quando possível, em vez de definir novas variáveis.

 

Subir


 

O que é o Error C3019: Too many publics?

 

Causa: Foi tentado compilar um grupo muito grande de programas fonte em um único programa objeto de uma só vez ou um dos programas da lista (.PRG) está grande demais.

Solução: Divida a compilação em grupos, com um número menor de programas fonte; Compile usando o modo de arquivo único (um .OBJ para um .PRG), através da chave /M de compilação. Vide manual do Clipper para detalhes de como implementar este esquema; Coloque algumas funções deste programa (.PRG)em outro programa menor, diminuindo o tamanho daquele sem prejudicar o outro, no caso de não haver funções neste programa, selecione algumas rotinas que possam ser segregadas do programa e crie uma função com esta rotina noutro programa menor.

Subir

 

1999 - CA-Clipper Website - Anderson Cardoso Silva