Mensagens de Erro do Compilador

Olá pessoal,

  ErroSegue uma lista de possíveis erros que podem ocorrer durante a compilação de fontes em ADVPL.

Código: C1001

Mensagem: Return statement with no value in function.

Problema: Em uma definição de função, deve ser especificado sempre um valor de retorno. Caso você especifique uma declaração return sem um valor de retorno, o compilador irá gerar esta mensagem de advertência. No CLIPPER, todas as definições de função obrigatoriamente devem retornar um valor, mesmo que você não vá utilizar este valor em sua rotina chamadora. Caso você especifique um return sem valor, será assumido um nil.

Solução: Para solucionar este problema, altere a declaração de Function para uma declaração Procedure, ou simplesmente adicione um valor de retorno a sua declaração return.

Código: C1002

Mensagem: Procedure return value.

Problema: Em uma definição de procedure, não deve ser especificado nenhum valor de retorno. Caso você especifique uma declaração com valor de retorno, o compilador irá gerar esta mensagem de advertência. No CLIPPER, somente as definições de função retornam valores. Caso você especifique um valor de retorno em uma procedure, este valor será retornado como ser você estivesse definindo uma função.

Solução: Para solucionar este problema, altere a declaração de Procedure para uma declaração Function, ou simplesmente remova o valor de retorno da declaração Procedure.

Código: C1003

Mensagem: Ambiguous variable reference.

Problema: Sempre que você usar a opção /w, o compilador gera esta advertência, caso ele encontre variáveis não declaradas ou sem alias.

Solução: Antes de usar uma variável, você deve declará-la. Caso você estiver usando variáveis de campos de banco de dados, sempre use a declaração (CAMPO) ou refira-se a elas através de um alias.

Código: C1004

Mensagem: Ambigous variable reference, assuming memvar.

Problema: Você tentou usar uma variável sem antes declará-la ou sem especificação de alias, porém o compilador indicou que poderia assumir como uma declaração memvar.

Solução: Declare todas suas variáveis antes de referenciá-las.

Código: C1005

Mensagem: Redefinition or duplicate definition of #define.

Problema: Você especificou mais de uma vez o mesmo nome de identificador em uma diretiva #define.

Solução: Remova uma das definições #define.

Código: C1007

Mensagem: Function does not end with return.

Problema: Foi encontrada uma declaração diferente de return no final de uma função.

Solução: Adicione return nil no final da declaração de sua função.


Descrição das Mensagens de Erro do Compilador
Código: C2001

Mensagem: Syntax error.

Problema: Ocorreu algum erro de systax em seu programa.

Solução: Verifique a sintaxe correta da definição ou comando em que ocorreu o erro.

Código: C2002

Mensagem: Statement unterminated at end of line.

Problema: Este erro geralmente ocorre quando existe uma expressão não terminada ou falta de parênteses no final de uma declaração.

Solução: Verifique sua declaração cuidadosamente, efetue a correção e compile novamente.

Código: C2003

Mensagem: Syntax error in statement.

Problema: Ocorreu algum erro de systax em seu programa.

Solução: Verifique a sintaxe correta da definição ou comando em que ocorreu o erro.

Código: C2004

Mensagem: IIlegal character.

Problema: Foi encotrado um caractere incorreto em seu programa sem especificação, podendo ser um caractere semigráfico em uma instrução do programa.

Solução: Remova o caractere incorreto e efetue novamente a compilação.

Código: C2005

Mensagem: Statement not recognized.

Problema: O compilador não reconheceu a declaração a declaração corrente. Isto acontece quando o pré-processador não reconhece um comando e passa ao compilador sem a devida tradução.

Solução: Efetue a correção da declaração incorreta e compile novamente.

Código: C2006

Mensagem: Statement not allowed outside procedure or function.

Problema: Foi especificada uma declaração diferente de field, memvar e static antes da primeira declaração procedure ou function.

Solução: Compile o arquivo sem a opção /n, ou remova a declaração incorreta.

Código: C2007

Mensagem: Unterminated string.

Problema: Você não utilizou um delimitador de terminação na declaração de uma cadeia de caracteres. Este erro pode ser uma simples falta d3 aspas no final de uma string.

Solução: Adicione o delimitador de terminação.

Código: C2009

Mensagem: Invalid use of @ (pass by reference) operator.

Problema: O operador de passagem por referência (@) foi usado em uma variável declarada como field. Em todos os casos, todas as variáveis de campo são passadas por valor, não podendo ser passadas por referência.

Solução: Passe o campo por valor, pois os campos têm uma abrangência global.

Código: C2010

Mensagem: Incorrect number of arguments.

Problema: Foi chamada uma função predefinida do CLIPPER com uma quantidade de argumentos incorreta.

Solução: Verifique a sintaxe correta da definição ou comando em que ocorreu o erro.

Código: C2011

Mensagem: Exit statement with no loop in sight.

Problema: Você especificou uma declaração Exit fora de um laça Do While ou For. Declarações Exit só valem entre declarações Do While e Enddo ou For Next.

Solução: Verifique o fluxo de seu programa e procure a colocação correta para Exit ou simplesmente remova esta declaração.

Código: C2012

Mensagem: Loop statement with no loop in sight.

Problema: Você especificou uma declaração Loop fora de um laço Do While For. Declarações Loop só valem entre declaração Do While e Enddo ou For Next.

Solução: Verifique o fluxo de seu programa e procure a colocação correta para Loop ou simplesmente remova esta declaração.

Código: C2013

Mensagem: Exit statement violates enclosing sequence.

Problema: Você especificou ou Exit dentro de um laço While ou For em uma seqüência entre as declarações Bebin Sequence e Recover.

Solução: Você não pode sair do bloco ativo de uma seqüência usando Exit, você deve usar (Break) para sair das declarações Recover ou End e depois sair Exit.

Código: C2014

Mensagem: Loop statement violates enclosing sequence.

Problema: Você especificou um Loop dentro de uma laço While ou For em uma seqüência entre as declarações Bebin Sequece e Recover.

Solução: Você não pode usar Loop em um bloco ativo de uma seqüência, você deve usar (Break) para sair das declarações Recover ou End e depois fazer o loop.

Código: C2015

Mensagem: ILLegal initializer.

Problema: Você declarou uma variável estática com um inicializador que não é um valor constante.

Solução: Declare suas variáveis estáticas como constantes.

Código: C2016

Mensagem: Name conflicts with previous declaration.

Problema: Você declarou uma variável privada, pública ou de parâmetro com o mesmo nome de uma variável declarada como local dentro da mesma abrangência.

Solução: Troque o nome da variável.

Código: C2017

Mensagem: Duplicate variable declaration.

Problema: Você declarou uma variável com o mesmo nome de uma declarada anteriormente. Por exemplo, Static x, a seguindo de Local a,y

Solução: Remova uma das declarações a.

Código: C2018

Mensagem: Outer block variable out of reach.

Problema: Você declarou dentro de um bloco de código aninhado, um bloco interno contendo uma referência a uma variável declarada em um bloco externo.

Solução: Coloque a declaração da variável no mesmo bloco que faz a referência a ela.

Código: C2019

Mensagem: Call of clipper procedure or function.

Problema: Você invocou uma rotina ou função declarada anteriormente usando um Call. Call somente deve invocar rotinas compiladas e assembladas separadamente e não funções e rotinas compiladas pelo CLIPPER.

Solução: Declare-a como uma função ou uma procedure e a chame pelo nome da declaração.

Código: C2020

Mensagem: Mistreatment of called symbol.

Problema: Você chamou uma rotina com uma declaração DO ou uma chamada de função.

Solução: Verifique se a rotina que você deseja chamar não tem o mesmo nome que as rotinas definidas no CLIPPER.

Código: C2021

Mensagem: Redefinition of clipper procedure or function.

Problema: Você declarou uma Function ou Procedure para um nome de rotina já declarada dentro da mesma abrangência. Este erro geralmente acontece por um conflito de nomes entre duas funções públicas.

Solução: As rotinas e funções no CLIPPER são (públicas) visíveis a todas as outras rotinas em um programa, ou (estáticas) visíveis somente a rotinas declaradas no mesmo arquivo (.prg). Caso as duas funções sejam de fato funções públicas, renomeie uma delas.

Código: C2022

Mensagem: Redefinition of predefined function.

Problema: Você declarou uma função com o mesmo nome de uma função predefinida do CLIPPER.

Solução: Você não pode redefinir as funções já predefinidas, portanto deve ser renomear sua função para solucionar o problema.

Código: C2023

Mensagem: Clipper definition of called symbol.

Problema: Você declarou o nome de uma rotina anteriormente chamada em uma procedure ou function.

Solução: Troque o nome da rotina chamada ou nome da função declarada.

Código: C2024

Mensagem: Unclosed control structures.

Problema: Falta declaração de finalização nas estruturas de controle.

Solução: Verifique se todas suas declarações If, For, Begin Sequence, Do Case, Do While possuem as declarações End correspondentes.

Código: C2025

Mensagem: Else does not match if.

Problema: Você declarou um Else fora da estrutura de controle If… Endif.

Solução: Você não pode especificar Else fora de estrutura de controle If. Procure a colocação correta ou retire o else e recompile o programa.

Código: C2026

Mensagem: Elseif does not match if.

Problema: Você declarou um Elseif fora da estrutura de controle If… Endif.

Solução: Você não pode especificar Elseif fora da estrutura de controle If. Procure a colocação correta ou retire o elseif e recompile o programa.

Código: C2027

Mensagem: Endif does not match if.

Problema: Você declarou um Endif sem uma estrutura de controle If.

Solução: Você não pode especificar Endif sem uma estrutura de controle If. Procure a colocação correta ou retire o endif e recompile o programa.

Código: C2028

Mensagem: Enddo does not match While.

Problema: Você declarou um Enddo fora da estrutura de controle Do While.

Solução: Você não pode especificar Enddo fora da estrutura de controle Do While. Procure a colocação correta ou retire o Enddo e recompile o programa.

Código: C2029

Mensagem: Next does not match For.

Problema: Você declarou um Next fora da estrutura de controle For.

Solução: Você não pode especificar Next fora da estrutura de controle For. Procure a colocação correta ou retire o For e recompile o programa.

Código: C2030

Mensagem: EndCase does not match Do Case.

Problema: Você declarou um EndCase fora da estrutura de controle Do Case.

Solução: Você não pode especificar EndCase fora da estrutura de controle Do Case. Procure a colocação correta ou retire o EndCase e recompile o programa.

Código: C2031

Mensagem: Case or otherwise is not immediately within Do Case.

Problema: Você declarou um Case ou Otherwise fora da estrutura de controle Do Case… EndCase.

Solução: Você não pode especificar Case e Otherwise fora da estrutura de controle Do Case. Procure a colocação correta ou retire o Case, Otherwise e recompile o programa.

Código: C2032

Mensagem: Text statement error.

Problema: O Compilador encontrou uma declaração Text com problema.

Solução: Este erro ocorre quando você tenta redefinir o comando text com diretivas de tradução.

Código: C2033

Mensagem: Missing endtext.

Problema: Você declarou um Text sem sua declaração EndText correspondente. Text é semelhante a uma estrutura de controle. Ela deve ser terminada com uma declaração endtext.

Solução: Você não pode especificar Text sem sua declaração EndText, Adicione Endtext ao final da declaração de bloco text.

Código: C2034

Mensagem: Formal parenters already declared.

Problema: Você definiu uma função ou rotina com os parâmetros declarados (por exemplo function(a,b,c)) seguida de uma declaração Parameters.

Solução: Somente é necessária uma das duas definições de parâmetros. Declare todos os parâmetros relacionados na declaração Parameters para a declaração de função ou rotina, em seguida remova a declaração Parameters.

Código: C2035

Mensagem: Invalid Declaration

Problema: Foi encontrado um erro em uma declaração de variável (por exemplo, local, memvar).

Solução: Verifique a declaração e corrija-a adequadamente.

Código: C2036

Mensagem: Mayhem in case handler.

Problema: Você especificou uma declaração entre Do Case e o primeiro Case ou Otherwise. Não é permitida a especificação de nenhuma declaração entre estas declarações.

Solução: Você deve remover as declarações, ou simplesmente mova-as para dentro do bloco Case apropriado.

Código: C2037

Mensagem: Invalid procedure name in do statement.

Problema: Você especificou a declaração Do com um argumento que não é valido.

Solução: Fique atento, pois os identificadores no Clipper devem começar com um letra ou um caractere sublinhado, que devem ser seguidos de uma combinação de letras, números e sublinhados, com no máximo 10 caracteres.

Código: C2038

Mensagem: Invalid target name in call statement.

Problema: Você especificou uma declaração Call com um argumento que não é válido.

Solução: Fique atento, pois os identificadores no Clipper devem começar com uma letra ou um caractere sublinhado, que devem ser seguidos de uma combinação de letras, números e sublinhados, com no máximo 10 caracteres.

Código: C2039

Mensagem: Invalid selector in send.

Problema: Você enviou uma mensagem desconhecida com o operador (:) send a uma classe de objetos. Normalmente, você deve ter escrito nome do método de maneira errada, ou então você enviou a mensagem a um objeto de classe errada.

Solução: Verifique a sintaxe correta de todos os métodos para cada classe de objeto.

Código: C2040

Mensagem: Invalid unary inline operator.

Problema: Você não especificou a expressão corretamente.

Solução: Examine cuidadosamente a expressão, e corrija quaisquer erros que encontrar.

Código: C2041

Mensagem: Invalid binary operator.

Problema: Você não especificou a expressão corretamente.

Solução: Examine cuidadosamente a expressão, e corrija quaisquer erros que encontrar.

Código: C2042

Mensagem: Invalid ivalue.

Problema: Você errou no uso de um operador de atribuição. Apenas a identificadores podem ser atribuídos valores ou referências.

Solução: Este erro geralmente ocorre quando você tenta utilizar o operador de atribuição Inline(: =), quando você pretendia usar o operador de comparação (= =), ou então pode ser um erro mais óbvio (por exemplo, 5: =soma+10).

Código: C2043

Mensagem: Invalid alilas expression.

Problema: Você errou usando o identificador à esquerda do operador Alias (->). No lado esquerdo do operador Alias, só pode ter um identificador ou uma expressão macro.

Solução: Verifique se seu alias não foi especificado como sendo uma expressão.

Código: C2044

Mensagem: Invalid function name.

Problema: Você especificou uma chamada a uma função cujo nome não é um identificador válido.

Solução: Fique atento, pois os identificadores no Clipper devem começar com uma letra ou um caractere sublinhado, que devem ser seguidos de uma combinação de letras, números e sublinhados, com no máximo 10 caracteres.

Código: C2045

Mensagem: Target name was used previously in non-call context.

Problema: Você especificou uma declaração Call para uma rotina ou função que foi invocada anteriormente com uma chamada à função ou rotina.

Solução: Verifique se as rotinas que você chamou não têm o mesmo nome de rotinas do Clipper definidas em seu programa.

Código: C2046

Mensagem: Sequence nesting error.

Problema: Você declarou uma estrutura de controle Begin Sequence… End com um erro de aninhamento.

Solução: As estruturas de controle devem ser aninhadas devidamente. Certifique-se que cada Begin tenha um End correspondente e que qualquer outra estrutura de controle usada dentro da seqüência também seja fechada com um End correspondente.

Código: C2047

Mensagem: Get contains complex macro.

Problema: Você tentou usar o comando Get em uma expressão macro (por exemplo, &(<expressão>).

Solução: A expressão macro deverá ser atribuída a uma variável e utilizada com o comando Get.

Código: C2048

Mensagem: Get contains both macro and declared symbol reference.

Problema: Você tentou especificar uma variável Get através de uma variável declarada juntamente com um operador macro(&).

Solução: A expressão macro deverá ser atribuída a uma variável e utilizada com o comando Get.

Código: C2049

Mensagem: Code block contains complex macro.

Problema: Você tentou utilizar uma expressão macro em um bloco de código (por exemplo, &(<expressão>)).

Solução: A expressão macro deverá ser atribuída a uma variável e utilizada no bloco de código.

Código: C2050

Mensagem: Code block contains both macro and declared symbol references.

Problema: Você declarou uma variável utilizada juntamente com o operador macro (&) em um bloco de código.

Solução: A expressão macro deverá ser atribuída a uma variável e utilizada no bloco de código.

Código: C2051

Mensagem: Local declaration executable statement.

Problema: Você efetuou uma declaração Local após uma declaração executável ter sido especificada. As declarações de variáveis devem preceder todas e quaisquer declarações executáveis em um programa.

Solução: Você deverá mover a declaração Local para o início da definição de rotina ou função antes de qualquer declaração executável.

Código: C2052

Mensagem: Memvar declaration follows executable statement.

Problema: Você efetuou uma declaração Memvar após uma declaração executável ter sido especificada. As declarações de variáveis devem preceder todaas e quaisquer declarações executáveis de um programa.

Solução: Você deverá mover a declaração Memvar para o início da definição de rotina ou função antes de qualquer declaração executável.

Código: C2053

Mensagem: Field declaration follows executable statement.

Problema: Você efetuou uma declaração Field após uma declaração executável ter sido especificada. As declarações de variáveis devem preceder todas e quaisquer declarações executáveis em um programa.

Solução: Você deverá mover a declaração Field para o início da definição de rotina ou função antes de qualquer declaração executável.

Código: C2054

Mensagem: Static declaration follows executable statement.

Problema: Você efetuou uma declaração Static após uma declaração executável ter sido especificada. As declarações de variáveis devem preceder todas e quaisquer declarações executáveis de um programa.

Solução: Você deverá mover a declaração Static para o início da definição de rotina ou função antes de qualquer declaração executável.

Código: C2055

Mensagem: Syntax erro #define.

Problema: Você especificou uma diretiva #define com um erro de sintax.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2056

Mensagem: Unexpected end of file in #define.

Problema: Uma diretiva #Define foi terminada antes do tempo por um final de arquivo.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2057

Mensagem: Label missing in #define.

Problema: Você especificou uma diretiva #Define sem identificador.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2058

Mensagem: Comma or right parenthesis missing in #define.

Problema: Você provavelmente se esqueceu de uma vírgula ou parênteses no final de uma definição de pseudofunção usando a diretiva #define.

Solução: Você deve definir uma pseudofunção com a quantidade equivalente de parênteses à esquerda e à direita, bem como vírgula devidamente localizadas para separar os argumentos da função.

Código: C2059

Mensagem: Missing = > in # translate/#command.

Problema: Você não especificou o separador = > em uma diretiva #translate ou #command.

Solução: Para cada diretiva #translate/#command deverá existir o símbolo = >, mesmo que a definição não tenha modelo resultante.

Código: C2060

Mensagem: Unknown result marker in #translate/#command.

Problema: Foi especificada uma diretiva #translate ou #command que contém uma referência a um nome de marca de resultante que não foi definido no modelo de equivalência da diretiva.

Solução: Você deverá verificar a maneira como a marca de resultado está escrita, para certificar-se de que ele tenha um nome de marca equivalência correspondente à esquerda da diretiva de tradução.

Código: C2061

Mensagem: Label error in #translate/#command.

Problema: Você especificou em uma diretiva #translate ou #command uma referência a uma marca de equivalência incorretamente.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compila novamente.

Código: C2062

Mensagem: Bad match marker in #translate/#command.

Problema: Você especificou em uma diretiva #translate ou #command uma referência a uma marca de equivalência incorretamente.

Solução: Verifique a sintax desta e de todas as outraas diretivas do pré-processador, e compila novamente.

Código: C2063

Mensagem: Bad result marker #translate/#command.

Problema: Você especificou em uma diretiva #translate ou #command uma referência a uma marca de equivalência incorretamente.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2064

Mensagem: Bad restricted match marker in #translate/#command.

Problema: Você especificou em uma diretiva #translate ou #command uma referência a uma marca de equivalência incorretamente.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2065

Mensagem: Empty optional clause in #translate/#command.

Problema: Vocè declarou uma diretiva #translate ou #command que contém uma cláusula opcional vazia.

Solução: Nas cláusulas opcionais, são definidas as diretivas #command e #translate com colchetes. Este erro indica colchetes abertos e fechados sem que haja nada entre eles.

Código: C2066

Mensagem: Unclosed optional clause in #translate/#command.

Problema: Você declarou uma diretiva #translate ou command que contém uma cláusula opcional onde está faltando o colchete da direita.

Solução: Todas as cláusulas opcionais devem estar entre colchetes.

Código: C2067

Mensagem: Too many neested #ifdefs.

Problema: Você excedeu o número máximo de 16 níveis de diretivas #Ifdef aninhadas.

Solução: Você deverá reduzir a quantidade de definições aninhadas.

Código: C2068

Mensagem: Error in #ifdef.

Problema: Você especificou uma diretiva #ifdef que contém um erro.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2069

Mensagem: #endif does not match #ifdef.

Problema: Você especificou uma diretiva #Endif sem a #ifdef ou Ifndef correspondente.

Solução: Verifique se cada #Endif tem uma diretiva #Ifdef ou #Ifndef correspondente.

Código: C2070

Mensagem: #Else does not match #Ifdef.

Problema: Você especificou uma diretiva #Else que está fora da estrutura de controle #Ifdef ou Ifndef.

Solução: Verifique se cada diretiva #Else está especificada a aninhada entre diretivas #Ifdef ou #Ifndef e #Endif.

Código: C2071

Mensagem: Error in #undef

Problema: Você especificou uma diretiva #undef que contém um erro.

Solução: Verifique a sintax desta e de todas as outras diretivas do pré-processador, e compile novamente.

Código: C2072

Mensagem: Ambiguous match pattern in #translate #command.

Problema: Você especificou uma diretiva #translate ou #command que contém duas cláusulas de marca de equivalência opcionais consecutivas sem nenhuma palavra chave intermediária.

Solução: Você não poderá fazer isto, pois o pré-processador não tem meios para saber qual marca de equivalência utilizar para corresponder ao texto de entrada.

Código: C2073

Mensagem: Result pattern contains nested clauses in #translate/#command.

Problema: Você especificou uma diretiva #translate ou #commad que contém cláusulas de resultado repetitivas e aninhadas (ou seja, colchetes aninhados).

Solução: Você não poderá utilizar cláusulas aninhadas em modelos resultantes. Tentar fazer isto geralmente significa que você precisa de duas regras ao invés de uma.

Código: C2074

Mensagem: #erro: <msg>

Problema: Foi encontrada a diretiva #erro durante o processo de compilação.

Solução: Retire esta diretiva, e compile novamente.

Código: C2075

Mensagem: Too many locals.

Problema: Foi excedida a quantidade máxima de 255 variáveis locais por definição de função.

Solução: Subdivida sua função em duas ou mais funções.

Código: C2076

Mensagem: Too many parameters.

Problema: Você declarou uma definição de função ou rotina com mais de 255 parâmetros, que é o máximo.

Solução: Subdivida sua função em duas ou mais funções.

Código: C2077

Mensagem: Too many parameters.

Problema: Você especificou uma definição de função ou rotina com mais de 255 parâmetros que é o máximo em uma declaração Parameters.

Solução: Subdivida sua função em duas ou mais funções.

Código: C2078

Mensagem: Circular #define.

Problema: Você especificou uma diretiva #define de maneira indequada (por exemplo, #define a b seguida de #define ab).

Solução: Uma #define inadequada não pode ser resolvida pelo pré-processador e, portanto, não é permitida.

Código: C2079

Mensagem: Circular #translate/#command.

Problema: Você especificou uma diretiva #translatte/#command de forma inadequada.

Solução: Não é permitida uma diretiva #translate ou #command inadequada, pois o pré-processador não poderá resolvê-la.

Código: C2086

Mensagem: Return violates enclosing Sequence.

Problema: Você especificou um Return em uma seqüência entre as declarações Bebin Sequence e Recover.

Solução: Você não pode sair do bloco ativo de uma seqüência usando Return, você deve usar (Break) para sair das declarações Recover ou End e depois usar Return.


Mensagens de erro Fatal do Compilador
Código: C3001

Mensagem: Out of memory

Problema: Memória insuficiente para executar a compilação.

Solução: Reduza a quantidade de rotinas ou funções definidas no arquivo programa(prg), ou simplesmente descarregue qualquer programa residente em memória, como (sk) etc…

Código: C3002

Mensagem: Input buffer overflow.

Problema: Você especificou uma declaração longa demais para o pré-processador.

Solução: Subdivida a declaração em várias declarações.

Código: C3003

Mensagem: Can’t open intermediate file.

Problema: O compilador não consegue abrir o arquivo temporário criado por ele.

Solução: É quase improvável que ocorra este erro.

Código: C3004

Mensagem: Bad command line option.

Problema: Você especificou para o compilador um argumento desconhecido ou não reconhecido.

Solução: Verifique a sintaxe correta, e tente novamente.

Código: C3005

Mensagem: Bad command line parameter.

Problema: Você especificou para o compilador um argumento desconhecido.

Solução: Verifique a sintaxe correta, e tente novamente.

Código: C3006

Mensagem: Can’t create preprocessed output file.

Problema: O compilador não conseguiu criar o arquivo de saída do pré-processador.

Solução: Este erro poderá ocorrer por várias razões: você está sem Handles de arquivo, sem espaço em disco, ou simplesmente você não tem atributos de criação em uma rede.

Código: C3007

Mensagem: Can’t open #include file.

Problema: O pré-processador não consegue abrir o arquivo especificado pela diretiva #include. O nome do arquivo foi escrito errado, ou está localizado em um diretório que não foi especificado pela variável ambiental include.

Solução: Altere o nome do arquivo, incluindo seu diretório na sua variável ambiental Include do Dos, ou simplesmente utilize a opção /I para adicionar temporariamente um ou mais diretórios na frente da lista de diretórios de Include.

Código: C3008

Mensagem: Bad filename in #include.

Problema: Você especificou uma diretiva #include com uma especificação de arquivo que não é uma cadeia de caracteres literal entre aspas (por exemplo, “Initial.ch”). Símbolos de maior e menor (<>) usados em linguagem C não são suportados pelo Clipper 5.0.

Solução: O nome do arquivo deve ser definido entre aspas.

Código: C3009

Mensagem: Too many nested#include.

Problema: Foi excedido o número máximo de #includes aninhados.

Solução: Você deverá utilizar no máximo 16 #incoludes aninhados, que é o máximo suportado pelo clipper 5.0.

Código: C3010

Mensagem: Invalid name follows #.

Problema: O pré-processador encontrou uma diretiva inválida ou desconhecida.

Solução: Você utilizou uma diretiva de maneira errada, de forma que o pré-processador não suporta ou então a escreveu errada.

Código: C3011

Mensagem: Can’t open standard rule file.

Problema: O compilador não está conseguindo abrir o arquivo header padrão (STD.CH), nem o arquivo especificado com a opção /U do compilador.

Solução: Atualize a variável ambiental Include com a localização apropriada ou adicione novas localizações à frente da lista de Include corrente com a opção /I, pois o compilador pesquisa o arquivo header padrão da mesma forma que o faz para qualquer outro arquivo header, verificando primeiramente no diretório corrente e depois no path de Include.

Código: C3012

Mensagem: Too many standard rules.

Problema: Você definiu regras demais no arquivo header padrão (STD.CH), ou o arquivo especificado com a opção /U do compilador.

Solução: Subdivida algumas das regras-padrão em outro arquivo header. Depois, inclua este arquivo header no início de cada arquivo programa em sua aplicação.

Código: C3013

Mensagem: Expression stack overflow.

Problema: Você declarou uma função ou rotina muito grande, ou está usando uma expressão muito complicada.

Solução: Simplifique sua função ou rotina, e compile novamente.

Código: C3014

Mensagem: Expression stack underflow.

Problema: Você declarou uma função ou rotina muito grande, ou está usando uma expressão muito complicada.

Solução: Simplifique sua função ou rotina, e compile novamente.

Código: C3015

Mensagem: Control stack overflow.

Problema: Você deve ter definido uma grande quantidade de estruturas de controle aninhadas.

Solução: Simplifique seu programa e compile novamente.

Código: C3016

Mensagem: Control stack underflow.

Problema: Você deve ter definido uma grande quantidade de estruturas de controle aninhadas.

Solução: Simplifique seu programa e compile novamente.

Código: C3017

Mensagem: Error reading or opening script file.

Problema: O compilador não está conseguindo encontrar, ou abrir, o arquivo script que você especificou.

Solução: O compilador procura os arquivos header somente no diretório corrente. Você deve especificar o nome do arquivo com o nome do path por completo, bem como a extensão, ou simplesmente certifique-se de que o arquivo esteja localizado no mesmo diretório e que tenha uma extensão (.clp).

Código: C3018

Mensagem: Too many symbols.

Problema: Seus arquivos estão usando símbolos demais.

Solução: Simplifique seus programas de forma que você possa utilizar memos símbolos (por exemplo, reutilize nomes de variáveis quando for possível, ao invés de definir variáveis novas).

Código: C3019

Mensagem: Too many publics.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3020

Mensagem: Too many segments.

Problema: Quando você tenta compilar vários arquivo ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3021

Mensagem: Too many fixups.

Problema: Quando vocè tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3022

Mensagem: Too many external references.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3023

Mensagem: Too many labels.

Problema: Quando vocè tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3024

Mensagem: Too many procs.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3025

Mensagem: Too many proc requests.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3026

Mensagem: Segment too big.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos.

Código: C3027

Mensagem: Proc too big.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compila em vários grupos de arquivos.

Código: C3028

Mensagem: Symbol table too big.

Problema: Quando você tentar compilar vários arquivos ao mesmo tempo, poderá causar este erro.

Solução: Divida sua compilação em vários grupos de arquivos

Código: C3029

Mensagem: Write error to intermediate file.

Problema: Foi criado um arquivo temporário pelo compilador, mas ele não consegue escrever no arquivo.

Solução: Provavelmente, vocè ficou sem espaço em disco durante a compilação. Libere algum espaço e tente novamente, ou simplesmente use a opção /T do compilador para escrever arquivos temporários em outra unidade de disco ou diretório.

Código: C3030

Mensagem: Write error to obj.

Problema: Foi criado um arquivo temporário pelo compilador, mas ele não consegue escrever no arquivo.

Solução: Provavelmente, você ficou sem espaço em disco durante a compilação. Libere algum espaço e tente novamente, ou simplesmente use a opção /O do compilador para escrever arquivos temporários em outra unidade de disco ou diretório.

Código: C3031

Mensagem: Can’t create obj.

Problema: O compilador não está conseguindo criar um arquivo objeto.

Solução: Este erro ocorre quando vocè ultrapassa o limite de arquivos por diretório, ou quando você não tem atributos de criação em uma unidade de rede. Usando a opção /O do compilador, você poderá escrever arquivos objeto em outra unidade de disco ou diretório.

Código: C3032

Mensagem: Can’t create intermediate file.

Problema: O compilador não consegue criar o aruivo temporário usado por ele para guardar resultados intermediários.

Solução: Este erro ocorre quando você ultrapassa o limite de arquivos por diretório, ou quando você não tem atributos de criação em uma unidade de rede. Usando a opção /T do compilador, você poderá escrever arquivos temporários em outra unidade de disco ou diretório.

Código: C3039

Mensagem: phase error

Problema: O compilador encontrou um símbolo diferente e não consegue prosseguir o processo de compilação.

Solução: Este error ocorre quando você cria um arquivo muito grande, ou quando você declara uma longa estrutura. Subdivida seu arquivo e compile novamente.

Código: C3040

Mensagem: unexpected end of intermediate file

Problema: Foi encontrado um EOF durante a leitura do arquivo temporário.

Solução: Verifique o espaço de disco disponível, ou se não há proteção contra gravação no seu disco

Fonte: http://reocities.com

Fica ai a dica…




0 Comments

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.