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.
|