Академический Документы
Профессиональный Документы
Культура Документы
Turbo Pascal genera dos tipos de mensajes de error: mensajes de error del compilador y mensajes de error en tiempo de
ejecucin.
Out of memory
Memoria Agotada
Este error ocurre cuando el compilador se queda sin memoria.
Probar estas soluciones, en este orden:
1. Arregle el problema fuera del IDE:
o Eliminar TSRs de memoria.
o Modificar CONFIG.SYS para eliminar controladores innecesarios; tambin reducir ficheros y buffers
(SET FILES = 20, SET BUFFERS = 20).
2. Reconfigurar Turbo Pascal:
o Establecer Compile -> Destination a Disk.
o Establecer Options -> Linker -> Link buffer a Disk.
o Conmutar Graphics Screen Save OFF.
3. Modificar el cdigo fuente:
o Poner units en overlay en el programa
o En Options -> Memory Sizes, reducir Stack Size y Low Heap Limit.
o En Options -> Compiler...:
Conmutar Range Checking y Stack Checking OFF.
Conmutar Emulation OFF mientras se depura.
4. Intente usar el IDE para editar el programa, y luego usar el compilador en lnea de comandos (TPC.EXE o
TPCX.EXE) para compilarlo y el Turbo Debugger para depurarlo.
Si ninguna de estas sugerencias ayuda, el programa o unit puede ser demasiado grande para compilar en la cantidad de
memoria disponible; deber dividirla en dos o ms units pequeas.
Identifier expected
Se esperaba un identificador
Unknown identifier
Identificador desconocido
El literal sealado no fue reconocido como un identificador declarado. O bien, el literal es un identificador que est fuera del
mbito de su declaracin.
La causa ms comn de este error es tipear incorrectamente un identificador.
Por otro lado poner un identificador fuera de su mbito tambin causa este error, por ejemplo cuando se usa una variable
local a un procedimiento o funcin fuera de ese procedimiento o funcin. Tambin cuando se intenta usar una variable,
constante, tipo, funcin o procedimiento de una unidad que no est listada en la clusula uses del fuente actual o que ese
identificador no est en la clusula interface de la unidad donde est declarado dicho identificador.
4
Duplicate identifier
Identificador duplicado
El identificador ya se usa como nombre para una constante, una variable, un tipo, un procedimiento o funcin declarado en el
bloque actual.
5
Syntax error
Error de sintaxis
Se encontr un caracter invlido en el cdigo fuente. O bien, la sentencia est mal formada.
Por ejemplo usar comillas dobles para encerrar una constante de cadena (lo correcto es la comilla simple). Cerrar
incorrectamente esas mismas comillas en una constante de cadena.
6
La causa ms comn es olvidar cerrar una constante de cadena con su correspondiente comilla simple.
Un fuente Pascal es vlido hasta la columna 128 del editor
10
La cantidad de columnas por lnea en un archivo fuente de Turbo Pascal es de 128 columnas como mximo, ms all de esta
columna el texto no es reconocido y el compilador muestra este error.
La solucin consiste en acortar la lnea de cdigo.
12
13
14
Se est haciendo referencia a un archivo que no existe o su nombre no conforma el estandar para MS-DOS, es decir 8
caracteres mximo para el nombre, 3 caracteres mximo para la extensin, todo sin espacios en blanco; o cualquier caracter
no vlido (como "?" o "*").
15
Archivo no encontrado
Disk full
Disco lleno
17
18
Demasiados archivos
19
20
21
Error in type
Error en tipo
23
El tipo base de un conjunto debe ser un subrango con lmites en el rango 0..255, o un tipo enumerado con no ms de 256
valores posibles.
24
25
26
Type mismatch
Tipos no coinciden
2 de 7
28
29
31
Constant expected
32
33
34
BEGIN expected
Se esperaba BEGIN
END expected
Se esperaba END
39
40
41
En la expresin sealada por el compilador se encontraron uno o ms tipos de datos a los cuales no se les puede aplicar la
operacin indicada.
Por ejemplo, tratar de dividir un integer por un char o tratar de multiplicar un real por un string, etc...
42
Error in expression
Error en la expresin
43
Illegal assignment
Asignacin ilegal
44
46
Undefined external
External no definido
47
48
49
El tamao mximo del segmento de datos de un programa est limitado a 65520 bytes (64 KB), incluyendo los datos
declarados por las units usadas.
Si necesita ms datos globales, declare las estructuras ms grandes como punteros, y reserve memoria dinmicamente usando
el procedimiento New()
50
DO expected
Se esperaba DO
51
52
53
54
OF expected
Se esperaba OF
55
INTERFACE expected
Se esperaba INTERFACE
56
3 de 7
57
THEN expected
58
TO or DOWNTO expected
Se esperaba THEN
Se esperaba TO o DOWNTO
59
Undefined forward
Forward no definido
Invalid typecast
62
Division by zero
64
Los procedimientos estndar Read/ReadLn y Write/WriteLn solo se pueden usar con datos de tipos simples, estos
son Real, Byte, Word, Integer, Longint, char, string, boolean. No se pueden usar con arrays,
records, tipos enumerados y punteros.
Los tipos de datos enumerados no se pueden leer usando Read/ReadLn o escribir usando Write/WriteLn.
Suponiendo que se tiene esta declaracin de tipo enumerado:
type
TSemana=(Lunes,Martes,Miercoles,Jueves,Viernes,Sabado,Domingo);
var
Semana: TSemana;
Para poder imprimir el valor de la variable Semana se debera usar la sentencia case de esta manera:
case Semana of
Lunes:Write('Lunes');
Martes:Write('Martes');
Miercoles:Write('Mircoles');
Jueves:Write('Jueves');
Viernes:Write('Viernes');
Sabado:Write('Sbado');
Domingo:Write('Domingo');
end; { case }
Mientras que para asignar un valor sin usar Read/ReadLn directamente, declarar una variable de tipo byte y usar case:
Write('Da de la semana (1-7): ');
ReadLn(Dia);
case Dia of
1:Semana:=Lunes;
2:Semana:=Martes;
3:Semana:=Miercoles;
4:Semana:=Jueves;
5:Semana:=Viernes;
6:Semana:=Sabado;
7:Semana:=Domingo
else WriteLn('Fuera de rango')
end; { case }
65
66
67
68
69
70
71
El snack (pila) interno del compilador se ha agotado debido a demasiados niveles de sentencias anidadas.
Redistribuya su cdigo de forma que no est tan profundamente anidado.
Por ejemplo, mueva los niveles internos de sentencias anidadas a un procedimiento separado.
72
73
IMPLEMENTATION expected
Se esperaba IMPLEMENTATION
4 de 7
74
El tipo de expresin usada en un caso del case no coincide o no es compatible con el tipo de dato o expresin usada en la
sentencia case.
Por ejemplo, el siguiente cdigo provocar este error:
var
a: char;
...
case a of
27:WriteLn('presion la tecla escape.');
end;
Debido a que la constante 27 es un tipo byte y el tipo de variable empleado en el case es de tipo char. Byte no es
compatible con char.
75
76
78
79
80
81
Etiqueta ya definida
82
Invalid @ argument
84
UNIT expected
Se esperaba UNIT
";" expected
Se esperaba ";"
85
El compilador espera un punto y coma donde el compilador seala o en la linea anterior donde se ubica el cursor.
86
":" expected
Se esperaba ":"
87
"," expected
Se esperaba ","
88
"(" expected
Se esperaba "("
89
")" expected
Se esperaba ")"
90
"=" expected
Se esperaba "="
91
":=" expected
Se esperaba ":="
92
93
94
"." expected
Se esperaba "."
95
".." expected
Se esperaba ".."
96
Demasiadas variables
97
99
100
101
102
104
105
INLINE error
Error en INLINE
106
108
109
110
112
113
Error in statement
Error en la sentencia
116
118
119
121
Invalid qualifier
Calificador no vlido
122
Esta construccin sigue la sintaxis de una referencia de variable, pero no denota una posicin de memoria.
Probablemente est llamando una funcin por medio de un puntero, pero ha olvidado derreferenciar el resultado.
123
124
Demasiados smbolos
Parte ejecutable demasiado grande
126
127
128
129
130
131
133
Est intentando usar una capacidad no soportada en una expresin constante o en una expresin de depuracin.
Por ejemplo, puede estar intentando usar la funcin Sin() en una declaracin const, o intentando llamar a una funcin
definida por el usuario en una expresin de depuracin.
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
VIRTUAL expected
Se esperaba VIRTUAL
150
152
153
154
155
156
157
158
159
160
161
162
ASM expected
Se esperaba ASM
163
164
165
166
167
168
169
170
Demasiados segmentos
7 de 7