O segredo é não correr atrás das borboletas... É cuidar do jardim [de conhecimentos, habilidades e potencialidades] para que elas venham até você. [Mário Quintana]

Mensagens de Erros PASCAL

Autoria: Monitor Davy Oliveira       . 
[Dez.2012]       .
Nº do Erro
Mensagem do Erro
Explicação do Erro
1
Invalid function number
Uma chamada do sistema operacional inválida.
2
File not found
Relatado ao tentar apagar, renomear ou abrir um arquivo inexistente.
3
Path not found
Relatado pelas rotinas de manipulação de diretório quando um caminho não existe ou é inválido. Também relatado ao tentar acessar um arquivo inexistente.
4
Too many open files
O número máximo de arquivos abertos no momento pelo seu processo foi atingido. Determinados sistemas operacionais limitam o número de arquivos que podem ser abertos ao mesmo tempo, e este erro pode ocorrer quando esse limite for atingido.
5
File access denied
Permissão para acessar o arquivo foi negada. Este erro pode ser causado por uma das seguintes razões:
·         Tentando abrir para escrita um arquivo que é somente para leitura, ou que é na verdade um diretório.
·         O arquivo está atualmente bloqueado ou sendo usado por outro processo.
·         Tentando criar um novo arquivo ou diretório, enquanto um arquivo ou diretório com o mesmo nome já existe.
·         Tentando escrever a partir de um arquivo que foi aberto em modo de apenas leitura.
·         Tentar remover um diretório ou arquivo enquanto ele não é possível.
·         Sem permissão para acessar o arquivo ou diretório.
6
Invalid file handle
Se isso acontecer, a variável de arquivo que você está usando está na lixeira. Ele indica que a sua memória está corrompida.
12
Invalid file access code
Reportado quando um reset ou rewrite é chamado com um valor FileMode inválido.
15
Invalid drive number
O número dado ao Getdir ou função ChDir especifica um disco inexistente.
16
Cannot remove current directory
Relatado ao tentar remover o diretório ativo.
17
Cannot rename across drives
Você não pode renomear um arquivo, que iria acabar em outro disco ou partição.
100
Disk read error
Ocorreu um erro durante a leitura de disco. Geralmente acontece quando você tenta ler após o fim de um arquivo.
101
Disk write error
Relatado quando o disco está cheio, e você está tentando gravar nele.
102
File not assigned
Este é reportado pelo Reset, Rewrite, Append, Rename e Erase, se você chamá-los com um arquivo que não foi atribuído como parâmetro.
103
File not open
Relatado pelas seguintes funções: Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, e BlockWrite se o arquivo não está aberto.
104
File not open for input
Relatado pelo Read, BlockRead, Eof, Eoln, SeekEof ou SeekEoln se o arquivo não foi aberto com o Reset.
105
File not open for output
Relatado pela escrita se um arquivo texto não foi aberto com o Rewrite.
106
Invalid numeric format
Relatado quando um valor não-numérico é lido a partir de um arquivo de texto, e um valor numérico era esperado.
150
Disk is write-protected (Critical error)
Disco Protegido contra gravação.
151
Bad drive request struct length (Critical error)
Acesso a disco danificado.
152
Drive not ready (Critical error)
Disco não formatado ou com defeito.
154
CRC error in data (Critical error)
Setor ruim.
156
Disk seek error (Critical error)
Erro de procura em disco.
157
Unknown media type (Critical error)
Tipo de comunicação não encontrado.
158
Sector Not Found (Critical error)
Setor não encontrado, disco com problemas.
159
Printer out of paper (Critical error)
Impressora sem papel.
160
Device write fault (Critical error)
Direcionamento de saída com defeito.
161
Device read fault (Critical error)
Direcionamento de leitura com defeito.
162
Hardware failure (Critical error)
Hardware falhando.
200
Division by zero
A aplicação tentou dividir um número por zero.
201
Range check error
Se você compilou seu programa com ampla verificação, então você pode obter este erro nos seguintes casos:
1. Um array foi acessado com um índice fora da sua faixa declarada.
2. Tentando associar um valor a uma variável fora de seu alcance (por exemplo, um tipo enumerado).
202
Stack overflow error
A pilha cresceu acima do seu tamanho máximo (neste caso o tamanho das variáveis locais deveriam ser reduzidos para evitar esse erro), ou a pilha está corrompida. Este erro é relatado apenas quando a checagem da pilha está habilitada.
203
Heap overflow error
A pilha cresceu além de seus limites. Isto é causado quando se tenta alocar memória explicitamente com New, GetMem ou ReallocMem, ou quando uma instância de classe ou objeto é criado e nenhuma memória é deixada.  Por favor, note que, por default, o Free Pascal proporciona um crescimento da pilha, ou seja, a pilha irá tentar alocar mais memória se necessário. No entanto, se a pilha atingiu o tamanho máximo permitido pelo sistema operacional ou hardware, então você vai ter este erro.
204
Invalid pointer operation
Você vai ter isso, se você chamar Dispose ou Freemem com um apontador inválido (notavelmente, Nil).
205
Floating point overflow
Você está tentando utilizar ou fornecer números reais que são muito grandes.
206
Floating point underflow
Você está tentando utilizar ou fornecer números reais que são muito pequenos.
207
Invalid floating point operation
Pode ocorrer se você tentar calcular a raiz quadrada ou o logaritmo de um número negativo.
210
Object not initialized
Quando compilado com checagem ampla ativa, um programa irá reporter esse erro se você chamar um método virtual sem ter chamado seu objeto construtor.
211
Call to abstract method
Seu programa tentou executar um método abstrato virtual. Métodos abstratos devem ser substituídos, e o método de substituição deve ser chamado.
212
Stream registration error
Isso ocorre quando um tipo inválido é registrado na unidade de objetos.
213
Collection index out of range
Você está tentando acessar um item de coleção com um índice inválido (objects unit).
214
Collection overflow error
A coleção atingiu seu tamanho máximo, e você está tentando adicionar um outro elemento (objects unit).
215
Arithmetic overflow error
Este erro é relatado quando o resultado de uma operação aritmética está fora do limite suportado. Ao contrário do Turbo Pascal, este erro só é relatado para sobrecargas aritméticas 32-bit ou 64-bit. Isto é devido ao fato de que tudo é convertido em 32-bits ou 64-bits antes de fazer a operação aritmética.
216
General Protection fault
A aplicação tentou acessar um espaço de memória inválido. Isto pode ser provocado por diversos problemas:
1. Desreferenciando um apontador com valor nil.
2. Tentando acessar a memória que está fora dos limites (por exemplo, chamando move com um tamanho inválido).
217
Unhandled exception occurred
Uma exceção ocorreu, e não teve nenhum tratamento de exceção presente. A unit sysutils instala um tratamento de exceção default que pega todas as exceções e sai normalmente.
219
Invalid typecast
Jogado quando um typecast  invalido é usado em uma classe usando um operador. Este erro também é acionado quando um objeto ou classe é typecast para uma classe inválida ou objeto e um método virtual da classe ou objeto é chamado. Este último erro só é detectado se a opção de compilador –CR é usada.
222
Variant dispatch error
Sem método de envio para chamar a partir da variável.
223
Variant array create
A criação de um array variável falhou. Normalmente quando não há memória suficiente.
224
Variant is not an array
Isto ocorre quando uma operação de array variável é utilizada em uma variável que não é um array.
225
Var Array Bounds check error
Este erro ocorre quando um índice de uma variável array está fora do limite.
227
Assertion failed error
Uma declaração falhou, e nenhuma variável procedural AssertErrorProc foi instalada.
229
Safecall error check
Este erro ocorre quando uma checagem safecall falha, e nenhuma rotina de tratamento está disponível.
231
Exception stack corrupted
Este erro ocorre quando o objeto de exceção é recuperado e nenhum está disponível.
232
Threads not supported
Thread se baseia em um driver separado em alguns sistemas operacionais (notavelmente, Unixes). A unidade com este driver precisa ser especificado na cláusula uses do programa, de preferência como a primeira unit (cthreads on unix).

Fatal: Unexpected end of file
Isso normalmente acontece em um dos seguintes casos:
·         O arquivo fonte termina antes do final da instrução end.Isto acontece principalmente quando as instruções begin e end não estão balanceadas.
·         Uma inclusão de arquivo termina no meio de uma instrução.
·         Um comentário não foi fechado.

Fatal: String exceeds line
Está faltando o fechamento de um ’ em uma string, então ela ocupa várias linhas.

Fatal: illegal character "arg1" (arg2)
Um caractere ilegal foi encontrado no arquivo de entrada.

Fatal: Syntax error, "arg1" expected but "arg2" found
Isto indica que o compilador espera um símbolo diferente do que foi digitado. Ele pode ocorrer em qualquer lugar.

Start reading includefile arg1
Quando você fornece a chave -vt, o compilador diz que você tem que começar lendo um arquivo incluído.

Warning: Comment level arg1 found
Quando a chave -vw é usada, então o compilador te avisa se encontrar comentários aninhados. Comentários aninhados não são permitidos no Turbo Pascal e Delphi, e podem ser uma possível fonte de erros.

Note: Ignored compiler switch "arg1"
Com -vn em funcionamento, o compilador avisa se ele ignorar uma chave.

Warning: Illegal compiler switch "arg1"
Você incluiu uma chave no compilador (i.e. {$... }) que não foi reconhecida por ele.

Warning: Misplaced global compiler switch
A opção de compilador é equivocada, e deveria ser localizado o começo da unit ou do program.

Error: Illegal char constant
Isto acontece quando você especifica um caractere com seu código ASCII, como em #96, mas o número é ou ilegal, ou fora do alcance.

Fatal: Can’t open file "arg1"
Free Pascal não pode encontrar o arquivo fonte do program ou unit especificado na linha de comando.

Fatal: Can’t open include file "arg1"
Free Pascal não pode encontrar o arquivo fonte que você especificou na instrução {$include ..}.

Error: Illegal record alignment specifier "arg1"
Você está especificando {$PACKRECORDS n} ou {$ALIGN n} com um valor ilegal para n. Para $PACKRECORDS são valores válidos 1, 2, 4, 8, 16, 32, C, NORMAL, DEFAULT, e para $ALIGN são valores válidos 1, 2, 4, 8, 16, 32, ON, OFF. Sob o modo MacPas, $ALIGN também suporta MAC68K, POWER e RESET.

Error: Illegal enum minimum-size specifier "arg1"
Você está especificando o {$PACKENUM n} com um valor ilegal para n. Apenas 1,2,4, NORMAL ou DEFAULT é válido aqui.

Error: $ENDIF expected for arg1 arg2 defined in arg3 line arg4
Suas declarações de compilação condicional estão desequilibrados.

Error: Syntax error while parsing a conditional compiling expression
Há um erro na expressão seguindo as diretivas de compilação {$if ..}, {$ifc } ou {$setc }.

Error: Evaluating a conditional compiling expression
Há um erro na expressão seguindo as diretivas de compilação {$if ..}, ifcorsetc.

Warning: Macro contents are limited to 255 characters in length
O conteúdo de macros não pode ser maior que 255 caracteres.

Error: ENDIF without IF(N)DEF
Suas instruções {$IFDEF ..} e {$ENDIF} não estão balanceadas.

Fatal: User defined: arg1
Um fatal error definido pelo usuário ocorreu.

Error: User defined: arg1
Um error definido pelo usuário ocorreu.

Warning: User defined: arg1
Um warning definido pelo usuário ocorreu.

Note: User defined: arg1
Uma note definida pelo usuário foi encontrada.

Hint: User defined: arg1
Um hint definido pelo usuário foi encontrado.

Info: User defined: arg1
Um info definido pelo usuário foi encontrado.

Error: Keyword redefined as macro has no effect
Você não pode redefinir palavras-chaves como macros.

Fatal: Macro buffer overflow while reading or expanding a macro
Seu macro ou seu resultado foi muito longo para o compilador.

Warning: Expanding of macros exceeds a depth of 16.
Ao expandir um macro, os macros foram aninhados a um nível 16. O compilador irá expandir mais, uma vez que este pode ser um sinal que a recursividade é usada.

Warning: compiler switches aren’t supported in // styled comments
Interruptores do compilador devem ser no estilo de comentários normais do Pascal.

Handling switch "arg1"
Quando você define informações de depuração em (-vd)  o compilador avisa quando está avaliando as instruções condicionais.

ENDIF arg1 found
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

IFDEF arg1 found, arg2
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

IFOPT arg1 found, arg2
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

IF arg1 found, arg2
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

IFNDEF arg1 found, arg2
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

ELSE arg1 found, arg2
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais.

Skipping until...
Quando você muda uma mensagem condicional para em funcionamento (-vc), o compilador avisa onde encontrar as instruções condicionais, e se ele está pulando ou compilando partes.

Info: Press <return> to continue
Quando a chave -vi é usada, o compilador para a compilação e espera a tecla Enter ser pressionada quando encontra uma diretiva {$STOP}.

Warning: Unsupported switch "arg1"
Quando warnings são mudados para em funcionamento (-vw), o compilador avisa sobre chaves não suportadas. Isto significa que a chave é usada no Delphi ou Turbo Pascal, mas não no Free Pascal.

Warning: Illegal compiler directive "arg1"
Quando warnings são mudados para em funcionamento (-vw), o compilador avisa sobre chaves não reconhecidas.

Back in arg1
Quando você usa a chave -vt, o compilador avisa quando ele terminar de ler o arquivo incluído.

Warning: Unsupported application type: "arg1"
Isso ocorre quando você especifica um tipo de aplicação desconhecida com a diretiva {$APPTYPE}.

Warning: APPTYPE is not supported by the target OS
A diretiva {$APPTYPE} é suportada apenas em certos sistemas operacionais.

Warning: DESCRIPTION is not supported by the target OS
A diretiva {$DESCRIPTION} não é compatível com este sistema operacional.

Note: VERSION is not supported by target OS
A diretiva {$VERSION} não é compatível com este sistema operacional.

Note: VERSION only for exes or DLLs
A diretiva {$VERSION} é usada apenas por fontes executáveis ou DLL.

Warning: Wrong format for VERSION directive "arg1"
O formato da diretiva {$VERSION} é majorversion.minorversion onde majorversion e minorversion são palavras.

Error: Illegal assembler style specified "arg1"
Quando você especifica um modo assembler com a diretiva {$ASMMODE xxx}, o compilador não reconhece o modo especificado.

Warning: ASM reader switch is not possible inside asm statement, "arg1" will be effective only for next
Não é possível mudar um leitor assembler para outro dentro de um bloco assembler. O novo leitor deve ser usado apenas para a próxima instrução assembler.

Error: Wrong switch toggle, use ON/OFF or +/-
Você precisa usar ON ou OFF ou um + ou – para alternar o interruptor.

Error: Resource files are not supported for this target
O destino que você está compilando não suporta arquivos de recursos.

Warning: Include environment "arg1" not found in environment
A variável de ambiente incluída não pode ser encontrada no ambiente; ele será substituído por uma string vazia.

Error: Illegal value for FPU register limit
Valores válidos para esta diretiva são 0..8 e NORMAL/DEFAULT.

Warning: Only one resource file is supported for this target
O destino que você está compilando suporta apenas um arquivo de recurso. O primeiro arquivo de recurso encontrado é usado, os outros são descartados.

Warning: Macro support has been turned off
A declaração macro foi encontrada, mas o suporte macro está desligado, então a declaração será ignorada. Para mudar o suporte macro para ligado compile com -Sm na linha de comando ou adicione {$MACRO ON} na fonte.

Error: Illegal interface type specified. Valids are COM, CORBA or DEFAULT.
O tipo de interface que foi especificada não é suportada.

Warning: APPID is only supported for PalmOS
A diretiva {$APPID} é suportada apenas pelo PalmOS.

Warning: APPNAME is only supported for PalmOS
A diretiva {$APPNAME} é suportada apenas pelo PalmOS.

Error: Constant strings can’t be longer than 255 chars
Uma única string pode conter no máximo 255 caracteres. Tente dividir a string em várias partes menores e concatená-las com um operador +.

Fatal: Including include files exceeds a depth of 16.
Quando estiver incluindo arquivos de inclusão, os arquivos files são aninhados a um nível 16. O compilador irá expandir ao máximo, uma vez que este pode ser um sinal de que a recursividade é usada.

Fatal: Too many levels of PUSH
Um máximo de 20 níveis são permitidos. Este erro ocorre apenas no modo MacPas.

Error: A POP without a preceding PUSH
Este erro ocorre apenas no modo MacPas.

Error: Macro or compile time variable "arg1" does not have any value
Assim, a expressão de tempo de compilação condicional não pode ser avaliada.

Error: Wrong switch toggle, use ON/OFF/DEFAULT or +/-/*
Você precisa usar ON ou OFF ou DEFAULT ou um + ou - ou * para alternar o interruptor.

Error: Mode switch "arg1" not allowed here
Um interruptor de modo já foi encontrado, ou, no caso da opção-Mmacpas, um comutador do modo ocorre após UNIT.

Error: Compile time variable or macro "arg1" is not defined.
Assim, a expressão de tempo de compilação condicional não pode ser avaliada. Apenas no modo MacPas.

Error: UTF-8 code greater than 65535 found
Free Pascal manipula strings UTF-8 internamente como widestrings, isto é, os códigos char são limitados a 65535.

Error: Malformed UTF-8 string
A string dada não é uma string UTF-8 válida.

UTF-8 signature found, using UTF-8 encoding
O compilador encontrou uma assinatura de codificação UTF-8 ($ef, $bb, $bf) no início do arquivo, então ele irá interpretar como um arquivo UTF-8.

Error: Compile time expression: Wanted arg1 but got arg2 at arg3
A checagem de tipo da expressão durante o tempo de compilação falhou.

Note: APPTYPE is not supported by the target OS
A diretiva{$APPTYPE} é suportada por apenas certos sistemas operacionais.

Error: Illegal optimization specified "arg1"
Você especificou uma otimização com a diretiva {$OPTIMIZATION xxx}, e o compilador não reconheceu a otimização especificada.

Warning: SETPEFLAGS is not supported by the target OS
A diretiva {$SETPEFLAGS} não é suportada pelo sistema operacional.

Warning: IMAGEBASE is not supported by the target OS
A diretiva {$IMAGEBASE} não é suportada pelo sistema operacional.

Warning: MINSTACKSIZE is not supported by the target OS
A diretiva {$MINSTACKSIZE} não é suportada pelo sistema operacional.

Warning: MAXSTACKSIZE is not supported by the target OS
A diretiva {$MAXSTACKSIZE} não é suportada pelo sistema operacional.

Error: Illegal state for $WARN directive
Apenas ON e OFF podem ser usados como estado com a diretiva de compilação{$WARN}.

Error: Illegal set packing value
Apenas 0, 1, 2, 4, 8, DEFAULT e NORMAL são permitidos como parâmetros packset.

Warning: PIC directive or switch ignored
Vários alvos, tal como WINDOWS, não suportam nem precisam do PIC, então a diretiva PIC e o interruptor são ignorados

Warning: The switch "arg1" is not supported by the currently selected target
Alguns interruptores do compilador como $E não são suportador por todos os alvos.

Warning: Framework-related options are only supported for Darwin/Mac OS X
Frameworks não são conceitos conhecidos, ou no mínimo não são suportados pelo FPC, como em outros sistemas operacionais como Darwin/Mac OS X.

Error: Illegal minimal floating point constant precision "arg1"
Precisões mínimas válidas para constants de ponto flutuante são por default, 32 e 64, que significam respectivamente, o mínimo (em geral 32 bit), 32 bit e 64 bit de precisão.

Warning: Overriding name of "main" procedure multiple times, was previously set to "arg1"
O nome para o procedimento de entrada principal é especificado mais de uma vez. Apenas o último nome será usado.

Error: Constant and CASE types do not
Um dos rótulos não é do mesmo tipo que a variável do case.

Error: Illegal use of ’:’
Você está usando o formato: (dois pontos) 2 vezes em uma expressão que não é uma expressão do tipo real.

Error: Comparative operator must return a boolean value
Quando sobrecarregar o operador =, a função deve retornar um valor booleano.

Error: Division by zero
Uma divisão por zero foi encontrada.

Error: Invalid floating point operation
Uma operação sobre dois valores do tipo real produziu um estouro ou uma divisão por zero.

Error: Upper bound of range is less than lower bound
O limite superior de uma declaração de array é menor do que o limite inferior, e isto não é possível.

Warning: string "arg1" is longer than "arg2"
O tamanho da string “arg1” é maior do que o tamanho especificado na definição do tipo da string “arg2”.

Error: string length is larger than array of char length
O tamanho da string é maior do que o tamanho especificado na definição do Array[x..y] of char.

Error: Illegal expression after message directive
Free Pascal suporta apenas valores inteiros ou string como constantes da mensagem.

Error: Illegal expression
Isto pode ocorrer em muitas circunstâncias. Geralmente quando tentam avaliar expressões constantes.

Error: Invalid integer expression
Você fez uma expressão que não é um inteiro, e o compilador espera que o resultado seja um número inteiro.

Error: Illegal qualifier
Um dos seguintes está acontecendo:
·         Você está tentando acessar um campo de uma variável que não é um registro (record).
·         Você está indexando uma variável que não é um array.
·         Você está desreferenciando uma variável que não é um ponteiro.

Error: High range limit < low range limit
Você está declarando um sub-intervalo, e o limite superior é menor do que o limite inferior do intervalo.

Error: Illegal assignment to for-loop variable "arg1"
O tipo de uma variável de loop for deve ser um tipo ordinal. Variáveis ​​de loop não podem ser do tipo real ou strings. Você também não pode atribuir valores a variáveis ​​de loop dentro do loop (exceto em Delphi e modos TP). Use um while ou repeat caso você precise fazer algo assim, já que essas construções foram construídas para isso.

Error: No function result type specified for function "arg1"
A primeira vez que você declarar uma função você tem que declarar ela completamente, incluindo todos os parâmetros e o tipo do resultado.

Error: Illegal function result type
Alguns tipos, como arquivo, não podem ser usados como resultado da função.

Error: Type mismatch
Isto pode ocorrer em vários casos:
·         A variável que você está atribuindo é de um tipo diferente do que a expressão deve receber como atribuição.
·         Você está chamando uma função ou procedimento com parâmetros que são incompatíveis com os parâmetros na definição da função ou procedimento.

Error: Incompatible types: got "arg1" expected "arg2"
Não há nenhuma conversão possível entre os dois tipos. Outra possibilidade é que eles são declarados em declarações diferentes:

Var
A1 : Array[1..10] Of Integer;
A2 : Array[1..10] Of Integer;
Begin
A1:=A2; { This statement also gives this error. It
is due to the strict type checking of Pascal }
End.

Error: Type mismatch between "arg1" and "arg2"
Os tipos não são iguais.

Error: Type identifier expected
O identificador não é um tipo, ou você esqueceu de fornecer um identificador do tipo.

Error: Variable identifier expected
Isso acontece quando você passa uma constante a uma rotina (como Inc var ou Dec), quando se espera que seja uma variável. Você só pode passar variáveis ​​como argumentos para essas funções.

Error: Integer expression expected, but got "arg1"
O compilador espera uma expressão do tipo inteiro, mas recebe um tipo diferente.

Error: Boolean expression expected, but got "arg1"
A expressão deve ser do tipo boolean. Ela deve retornar True ou False.

Error: Ordinal expression expected
A expressão dever ser do tipo ordinal, ou seja, no máximo um Longint. Isto acontece, por exemplo, quando você especifica um Segundo argumento para Inc ou Dec que não é avaliado como um valor ordinal.

Error: pointer type expected, but got "arg1"
A variável ou expressão não é do tipo pointer. Isto acontece quando você passa uma variável que não é do tipo pointer para New ou Dispose.

Error: class type expected, but got "arg1"
A variável ou expresão não é do tipo class. Isto acontece geralmente quando:
1. A classe pai em uma declaração de classe não é uma classe.
2. Um manipulador de exceção (On) contém um identificador do tipo que não é uma classe.

Error: Can’t evaluate constant expression
Este erro pode ocorrer quando os limites de um array que você declarou não avaliam as constantes ordinais.

Error: Set elements are not compatible
Você está tentando realizar uma operação em dois conjuntos, quando os tipos dos elementos dos conjuntos não são os mesmos. O tipo base dos conjuntos deve ser o mesmo quando está fazendo a união.

Error: Operation not implemented for sets
várias operações binárias não são definidas para conjuntos. Isso inclui: div, mod, **, >= e <=. As duas últimas podem ser definidas para conjuntos no futuro.

Warning: Automatic type conversion from floating type to COMP which is an integer type
Uma conversão implícita de um tipo real de uma amostra é encontrada. Uma vez que é uma amostra de um tipo inteiro de 64 bits, isto pode indicar um erro.

Hint: use DIV instead to get an integer result
Quando hints estão em funcionamento, então uma divisão inteira com o operador ’/’ irá produzir esta mensagem, pois o resultado será do tipo real.

Error: string types doesn’t match, because of $V+ mode
Ao compilar no modo {$ V +}, a string passada como parâmetro deve ser do mesmo tipo exato que o parâmetro declarado no procedimento.

Error: succ or pred on enums with assignments not possible
Se você declarar um tipo de enumeração que tem como atribuições C-like, tal como a seguir:
Tenum = (a,b,e:=5);
Então você não pode usar as funções Succ ou Pred com esta enumeração.

Error: Can’t read or write variables of this type
Você está tentando ler ou escrever uma variável de/ou para um arquivo do tipo texto, que não suporta o tipo da variável. Apenas tipos integer, reals, pchars and strings podem ser lidos ou escritos de um arquivo texto. Booleans só podem ser escritos em arquivos texto.

Error: Can’t use readln or writeln on typed file
readln e writeln só são permitidos para arquivos texto.

Error: Can’t use read or write on untyped file.
read and write só são permitidos para texto ou arquivos tipados.

Error: Type conflict between set elements
Há pelo menos um elemento de conjunto, que é do tipo errado, ou seja, não do tipo de conjunto.

Warning: lo/hi(dword/qword) returns the upper/lower word/dword
Free Pascal suporta uma versão sobrecarregada de lo/hi para longint/dword/int64/qword que retorna o  word/dword superior/inferior do argumento. Turbo Pascal sempre usa um lo/hi de 16 bits que semrpe retorna bits de 0..7 para lo e bits de 8..15 para hi. Se você quer o comportamento do Turbo Pascal você tem que fazer um cast de tipo do argumento para word ou integer.

Error: Integer or real expression expected
O primeiro argumento para str deve ser um tipo inteiro ou real.

Error: Wrong type "arg1" in array constructor
Você está tentando usar um tipo que não é permitido no construtor de um array.

Error: Incompatible type for arg no. arg1: Got "arg2", expected "arg3"
Você está tentando passar um tipo inválido para o parâmetro especificado.

Error: Method (variable) and Procedure (variable) are not compatible
Você não pode atribuir um método a uma variável de procedimento ou um procedimento a um método de ponteiro.

Error: Illegal constant passed to internal math function
A constante passada como argumento para uma função ln ou sqrt está fora da faixa de definição destas funções.

Error: Can’t take the address of constant expressions
Não é possível obter o endereço de uma expressão constante, porque eles não são armazenados na memória. Você pode tentar fazê-la uma constante tipada. Este erro também pode ser exibido se você tentar passar uma propriedade para um parâmetro var.

Error: Argument can’t be assigned to
Apenas expressões que ficam do lado esquerdo de uma atribuição podem ser passadas como argumentos por referência em chamadas.
Observação: Propriedades podem ser usadas do lado esquerdo de uma atribuição, porém, eles não podem ser usados como argumentos.

Error: Can’t assign local procedure/function to procedure variable
Não é permitido atribuir um procedimento/função local para uma variável de procedimento, porque a convenção de chamada de um procedimento/função local é diferente. Você só pode atribuir procedimento/função local para um ponteiro nulo.

Error: Can’t assign values to an address
Não é permitido atribuir um valor a um endereço de uma variável, procedimento, constante ou função. Você pode compilar com -So se o identificador é uma variável de procedimento.

Error: Can’t assign values to const variable
Não é permitido atribuir valores a variáveis que são declaradas como uma constante. Este é normalmente um parâmetro declarado como constante. Para permitir a alteração do valor, passe o parâmetro por valor, ou um parâmetro por referência (usando var).

Error: Array type required
Se você está acessando a variável usando um índice ’[<x>]’ então o tipo deve ser um array. No modo FPC um ponteiro também é permitido.

Error: interface type expected, but got "arg1"
O compilador esperava encontrar um nome de tipo de interface, mas tem algo mais. O seguinte código deve produzir este erro:
Type
TMyStream = Class(TStream,Integer)

Hint: Mixing signed expressions and longwords gives a 64bit result
Se você dividir (ou calcular o módulo de) uma expressão assinada por um longword (ou vice-versa), ou se você tem excesso e / ou faixa de verificação está ligada e usar uma expressão aritmética (+, -, * div, mod) em que ambos os números assinados e longwords aparecer, então tudo será avaliado em aritmética de 64 bits, que é mais lenta do que a aritmética de 32 bits normal. Você pode evitar isso operando uma typecasting para que corresponda ao tipo de resultado do outro.

Warning: Mixing signed expressions and cardinals here may cause a range check error
Se você usar um operador binário (and, or, xor) e um dos operandos é um longword enquanto o outro é uma expressão assinada, então, se a verificação de intervalo está ligada, você pode obter um erro de verificação de intervalo, porque em tal caso ambos os operandos são convertidos para longword antes que a operação seja realizada. Você pode evitar isso operando uma typecasting para que corresponda ao tipo de resultado do outro.

Error: Typecast has different size (arg1 -> arg2) in assignment
Tipo de casting para um tipo com um tamanho diferente não é permitido quando a variável é usada em uma atribuição.

Error: enums with assignments can’t be used as array index
Quando você declara um tipo enumerado que tem atribuição C-like, tal como o seguinte:
Tenum = (a,b,e:=5);
Você não pode usá-lo como índice de um array.

Error: Class or Object types "arg1" and "arg2" are not related
Há um typecast de uma classe ou objeto para o outro enquanto a classe/objeto não estão relacionados. Isso provavelmente vai levar a erros.

Warning: Class types "arg1" and "arg2" are not related
Há um typecast de uma classe para outra enquanto as classes não estão relacionadas. Isso provavelmente vai levar a erros.

Error: Class or interface type expected, but got "arg1"
O compilador espera um nome de classe ou interface, mas recebeu outro tipo ou identificador.

Error: Type "arg1" is not completely defined
Este erro ocorre quando um tipo não está complete: ou seja, um ponteiro que aponta para um tipo indefinido.

Warning: String literal has more characters than short string length
O tamanho de uma constant string, que é  atribuído à um shortstring, é maior que o tamanho máximo de um shortstring (255 caracteres).

Warning: Comparison is always false due to range of values
É feita uma comparação entre um valor sem sinal e uma constante fixada que é menor do que zero. Por causa da promoção do tipo, a declaração será sempre avaliada como false. Faça o typecast da constante explicitamente para o intervalo correto para evitar este problema.

Warning: Constructing a class "arg1" with abstract method "arg2"
Uma instância de uma classe é criada quando não contém métodos abstratos implementados. Isso provavelmente vai levar um erro em tempo de execução (runtime) 211 no código sempre que a rotina for chamada. Todo método abstrato deve ser anulado.

Hint: The left operand of the IN operator should be byte sized
O operando esquerdo do operador não é em um ordinal ou enumeração que se encaixa dentro de 8 bits. Isto pode levar a uma variedade de erros de verificação. O operador no momento suporta apenas um operando da esquerda que se encaixa dentro de um byte. No caso de uma enumeração, o tamanho de um elemento de uma enumeração pode ser controlado com os interruptores {$PACKENUM} ou {$Zn}.

Warning: Type size mismatch, possible loss of data / range check error
Existe uma atribuição para um tipo menor que o tipo fonte. Isto significa que esta pode causar um erro de verificação de intervalo, ou pode levar à possível perda de dados.

Hint: Type size mismatch, possible loss of data / range check error
Existe uma atribuição para um tipo menor que o tipo fonte. Isto significa que esta pode causar um erro de verificação de intervalo, ou pode levar à possível perda de dados.

Error: The address of an abstract method can’t be taken
Um método abstrato não possui corpo, então o endereço de um método abstrato não pode ser pego.

Error: Assignments to formal parameters and open arrays are not possible
Você está tentando atribuir um valor a um parâmetro formal (var não tipado, constante ou saída), ou para abrir um array.

Error: Constant Expression expected
O compilador espera uma expressão constant, mas recebeu uma expressão variável.

Error: Operation "arg1" not supported for types "arg2" and "arg3"
A operação não é permitida para os tipos fornecidos.

Error: Illegal type conversion: "arg1" to "arg2"
Ao fazer um type-cast, você deve tomar cuidado para que o tamanho da variável e o tipo de destino sejam os mesmos.

Hint: Conversion between ordinals and pointers is not portable
Se você fez um typecast de um apontador para um longint (ou vice-versa), este código não irá compilar em uma máquina usando endereçamento de 64.

Warning: Conversion between ordinals and pointers is not portable
Se você fez um typecast de um apontador para um tipo ordinal de tamanho diferente (ou vice-versa), isto pode causar problemas. Este é um aviso para ajudar a encontrar o código de 32 bits específico onde cardinal/longint é usado para fazer typecast de ponteiros para ordinais. A solução consiste em utilizar, ao invés disso, os tipos ptrint/ptruint.

Error: Can’t determine which overloaded function to call
Você está chamando funções sobrecarregadas com um parâmetro que não corresponde a nenhum dos parâmetros da lista declarada na função, por exemplo, quando você declara uma função com parâmetros word e longint, e então você a chama com um parâmetro que é do tipo integer.

Error: Illegal counter variable
O tipo de uma variável do loop for deve ser um tipo ordinal. As variáveis de loop não podem ser reais ou strings.

Warning: Converting constant real value to double for C variable argument, add explicit typecast to prevent this.
Em C, valores de constantes reais são dobrados por default (padrão). Por esta razão, se você passar um valor constante real para uma variável que faz parte de um argumento de uma função C, FPC por default converte esta constante para o dobro também. Se você quer evitar que isso aconteça, adicione um typecast explícito em torno da constante.

Error: Class or COM interface type expected, but got "arg1"
Alguns operadores, como o operador AS, só são aplicáveis ​​a classes ou interfaces COM.

Error: Constant packed arrays are not yet supported
Você não pode declarar (bit)packed array como uma constante tipada.

Error: Incompatible type for arg no. arg1: Got "arg2" expected "(Bit)Packed Array"
O compilador espera um (bit)packed array como o parâmetro especificado.

Error: Incompatible type for arg no. arg1: Got "arg2" expected "(not packed) Array"
O compilador espera um array normal (ou seja, não packed) como o parâmetro especificado.

Error: Elements of packed arrays cannot be of a type which need to be initialised
Suporte para packed arrays de tipos que precisam de inicialização (como ansistrings, ou records (registros) que contêm ansistrings) ainda não está implementado.

Error: Constant packed records and objects are not yet supported
Você não pode declarar (bit)packed array como uma constante tipada neste momento.

Warning: Arithmetic "arg1" on untyped pointer is unportable to {$T+}, suggest typecast
Adição/subtração de um ponteiro não tipado pode funcionar de forma diferente em {$T+}. Use um typecast para um ponteiro tipado.

Error: Can’t take address of a subroutine marked as local
O endereço de uma sub-rotina marcada como local não pode ser pego.

Error: Can’t export subroutine marked as local from a unit
Uma sub-rotina marcada como local não pode ser exportada de uma unit.

Error: Type is not automatable: "arg1"
Somente byte, integer, longint, smallint, currency, single, double, ansistring, widestring, tdatetime, variant, olevariant, wordbool e todas as interfaces são automatizáveis.

Hint: Converting the operands to "arg1" before doing the add could prevent overflow errors.
Adicionando dois tipos podem causar erros de estouro. Já que você está convertendo o resultado para um tipo maior, você poderia evitar tais erros convertendo os operandos para este tipo antes de fazer a adição.

Hint: Converting the operands to "arg1" before doing the subtract could prevent overflow errors.
Subtraindo dois tipos podem causar erros de estouro. Como você está convertendo o resultado para um tipo maior, você poderia evitar tais erros convertendo os operandos para este tipo antes de fazer a subtração.

Hint: Converting the operands to "arg1" before doing the multiply could prevent overflow errors.
Multiplicação de dois tipos podem causar erros de estouro. Como você está convertendo o resultado para um tipo maior, você poderia evitar tais erros convertendo os operandos para este tipo antes de fazer a multiplicação.

Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned
O espaço de endereço virtual em máquinas de 32 bits vai de $00000000 à $ffffffff. Muitos sistemas operacionais permitem alocar a memória acima de $80000000. Por exemplo, Windows e Linux permitem os ponteiros na faixa de $0000000 até $bfffffff. Se você converter ponteiros para tipos com sinal, isso pode causar sobrecarga e erros de verificação de alcance, mas também $80000000 < $7fffffff. Isso pode causar erros aleatórios em código como "se p> q".

Error: Interface type arg1 has no valid GUID
Ao aplicar o as-operador para uma interface ou classe, a interface desejada (ou seja, o operandp direito do as-operador) deve ter um GUID válido.

Error: Invalid selector name
Um selector de Objective-C não pode estar vazio, deve ser um identificador válido ou um único dois pontos ( : ), e se ele contém pelo menos um dois pontos também deve terminar em um.

Error: Expected Objective-C method, but got arg1
Um seletor só pode ser criado para métodos Objective-C, e para mais nenhum outro tipo de procedimento / função / método.

Error: Expected Objective-C method or constant method name
Um seletor só pode ser criado para métodos Objective-C, ou especificando o nome usando uma string constante, ou usando um identificador do método Objective-C que é visível no escopo atual.

Error: No type info available for this type
Tipo de informação não é gerada por alguns tipos, como enumerações com lacunas na sua faixa de valores (isso inclui enumerações cujo limite inferior é diferente de zero).

Error: Identifier not found "arg1"
O compilador não conhece este símbolo. Normalmente acontece quando você digita errado o nome de uma variável ou procedimento, ou quando você esquece de declarar uma variável.

Error: Duplicate identifier "arg1"
O identificador já foi declarado no escopo atual.

Error: Unknown identifier "arg1"
O identificador encontrado não foi declarado, ou está sendo usado fora do escopo onde foi definido.

Error: Error in type definition
Há um na definição de um novo tipo de array. Um dos delimitadores de faixa na declaração do array é errôneo. Por exemplo, Array [1..1.25] irá acionar esse erro.

Error: Forward type not resolved "arg1"
Um símbolo foi definido para a frente, mas a declaração não foi encontrada.

Error: illegal type declaration of set elements
A declaração de um set contém uma definição de tipo inválido.

Error: Set type expected
A variável ou expressão não é do tipo set. Isso acontece em uma instrução in.

Error: identifier idents no member "arg1"
Este erro é gerado quando um identificador de um registro, campo, ou método é acessado enquanto não está definido.

Error: Data element too large
Este erro ocorre quando você declara um elemento de dado cujo tamanho excede o limite prescrito (2 Gb nos processadores 80386+/68020+).

Error: Parameter list size exceeds 65535 bytes
O processador I386 limita a lista de parâmetros para 65.535 bytes. (A instrução RET faz isso.)

Error: File types must be var parameters
Você não pode especificar arquivos como parâmetros de valor, ou seja, eles sempre devem ser declarados como parâmetros var.

Error: Local variables size exceeds supported limit
Isto indica que você está declarando uma variável local com mais de 32K, que não é suportada pelo processador.

Error: BREAK not allowed
Você está tentando usar a instrução break fora da construção de um laço de repetição.

Error: CONTINUE not allowed
Você está tentando usar a instrução continue fora da construção de um laço de repetição.