Коды ошибок компилятора Паскаля
При отладке программ вы неизбежно столкнетесь с ошибками. Компилятор будет вам на чистом английском языке сообщать об ошибке. Вы не знаете английского? Тогда зачем согласились стать программистом? Если вы скажете что вас заставили, то мы попытаемся вам помочь. Здесь вы найдете коды ошибок и их перевод на русский язык. Кстати, помните, что компилятор часто врет и место ошибки указывает не правильно. Если в той строке, где компилятор якобы нашел ошибку, ошибки все-таки нет, то ишщите ее в соседних строках или в том блоке программы, к которому имеет отношение, отмеченная компилятором строка. Например, в вызываемой процедуре. Ну, дальше вы сами уже сможете сообразить.
Основные сообщения об ошибках Паскаля
Сообщения компилятора о синтаксических ошибках:
1 — выход за границы памяти;
2 — не указан идентификатор;
3 — неизвестный идентификатор;
4 — повторный идентификатор;
5 — синтаксическая ошибка;
6 — ошибка в вещественной константе;
7 — ошибка в целочисленной константе;
8 — строковая константа превышает размеры строки;
9 — слишком много вложенных файлов;
10 — неправильный конец файла;
11 — строка слишком длинная;
12 — требуется идентификатор типа;
13 — слишком много открытых файлов;
14 — неверное имя файла;
15 — файл не найден;
16 — диск заполнен;
17 — неправильная директива компилятора;
18 — слишком много файлов;
19 — неопределенный тип в определении ссылки;
20 — нужен идентификатор переменной;
21 — ошибка в определении типа;
22 — слишком большая структура;
23 — базовый тип множества нарушает границы;
24 – компонентами файла не могут быть файлы или объекты;
25 — неверная длина строки;
26 — несоответствие типов;
27 — неправильный базовый тип отрезка типа;
28 — нижняя граница больше верхней;
29 — нужен порядковый тип;
30 — нужна целая константа;
31 — нужна константа;
32 — нужна целая или действительная константа;
33 — нужен идентификатор типа;
34 — неправильный тип результата функции;
35 — нужен идентификатор метки;
36 — нужен begin;
37 — нужен end;
38 — нужно выражение типа integer;
39 — нужно выражение перечисляемого типа;
40 — нужно выражение типа boolean;
41 — типы операндов не соответствуют оператору;
42 — ошибка в выражении;
43 — неверное присваивание;
44 — нужен идентификатор поля;
45 — объектный файл слишком большой (больше 64 Кб);
46 — неопределенная внешняя процедура;
47 — неправильная запись объектного файла;
48 — сегмент кода слишком большой (больше 65520 байт);
49 — сегмент данный слишком велик;
50 — нужен оператор do;
51 — неверное определение public;
52 — неправильное определение extrn;
53 — слишком много определений типа extrn (больше 256);
54 — требуется of;
55 — требуется интерфейсная секция;
56 — недействительная перемещаемая ссылка;
57 — требуется then;
58 — требуется to или downto;
59 — неопределенное опережающее описание;
60 — слишком много процедур (больше 512 в одном модуле);
61 — неверное преобразование типа;
62 — деление на нуль;
63 — неверный файловый тип;
64 – невозможно прочитать или записать переменные данного типа;
65 – требуется использование переменной-указателя;
66 — нужна строковая переменная;
67 — нужно выражение строкового типа;
68 — программный модуль не найден;
69 — несоответствие времен программных модулей;
70 — несоответствие версий программных модулей;
71 — повторное имя программного модуля;
72 — ошибка формата файла программного модуля;
73 — требуется секция реализации;
74 — типы константы и тип выражения оператора case не соответствуют друг другу;
75 — нужна переменная типа запись;
76 — константа нарушает границы;
77 — нужна файловая переменная;
78 — нужно выражение типа указатель;
79 — нужно выражение типа real или integer;
80 — метка не находится внутри текущего блока;
81 — метка уже определена;
82 — неопределенная метка в предыдущем разделе операторов;
83 — недействительный аргумент оператора @;
84 — требуется ключевое слово unit;
85 — требуется указать «;»;
86 — требуется указать «:»;
87 — требуется указать «,»;
88 — требуется указать «(«;
89 — требуется указать «)»;
90 — требуется указать «=»;
91 — требуется указать «:=»;
92 — требуется «[» или «(.»;
93 — требуется «]» или «.)»;
94 — требуется «.»;
95 — требуется «..»;
96 — слишком много переменных;
97 — неправильная переменная цикла оператора for. Переменная должна быть перечислимого типа;
98 — нужна переменная целого типа;
99 — здесь не допускаются файлы;
100 — несоответствие длины строковой переменной или константы;
101 — неверный порядок полей;
102 — нужна константа строкового типа;
103 — нужна переменная типа integer или real;
104 — нужна переменная перечисляемого типа;
105 — ошибка в операторе inline;
106 — предшествующее выражение должно иметь символьный тип;
107 — слишком много перемещаемых элементов;
108 — недостаточно памяти для выполнения программы;
109 — нет возможности найти файл .EXE;
110 — модуль выполнять нельзя;
111 — компиляция прервана с помощью клавиш Ctrl+Break;
112 — константа оператора case находится вне границ;
113 — ошибка в операторе. Данный символ не может быть первым символом в операторе;
114 — невозможно вызвать процедуру прерывания;
115 — для компиляции необходимо наличие сопроцессора 8087;
116 — для компиляции необходим режим 8087;
117 — адрес назначения не найден;
118 — в такой ситуации включаемые файлы не допускаются;
119 — ошибка формата файла .TPU;
120 — требуется NIL;
121 — неверный квалификатор переменной;
122 — недействительная ссылка на переменную;
123 — слишком много символов (больше 64 Кб);
124 — слишком большой раздел операторов (больше 64 Кб);
125 — в модуле нет отладочной информации;
126 — параметры файлового типа должны быть параметрами var;
127 — слишком много условных символов;
128 — пропущена условная директива;
129 — пропущена директива endif;
130 — ошибка в начальных условных определениях;
131 — заголовок не соответствует предыдущему определению;
132 — критическая ошибка диска;
133 — нельзя вычислить данное выражение;
134 — некорректное завершение выражения;
135 — неверный спецификатор формата;
136 — недопустимая косвенная ссылка;
137 — здесь не допускается использование структурной переменной;
138 — нельзя вычислить без блока system;
139 — доступ к данному символу отсутствует;
140 — недопустимая операция с плавающей запятой;
141 — нельзя выполнить компиляцию оверлеев в память;
142 — должна использоваться переменная-процедура или функция;
143 — недопустимая ссылка на процедуру или функцию;
144 — этот модуль не может использоваться в качестве оверлейного.
Сообщения об ошибках времени исполнения программы:
1 — не найден файл;
3 — не найден путь;
4 — слишком много открытых файлов;
5 — отказано в доступе к файлу;
6 — недоступный файловый канал;
12 — недействительный код доступа к файлам;
15 — недопустимый номер дисководов;
16 — нельзя удалить текущий каталог;
17 — нельзя при именовании указывать разные дисководы;
100 — ошибка чтения диска;
101 — ошибка записи на диск;
102 — файлу не присвоено имя;
103 — файл не открыт;
104 — файл не открыт для ввода;
105 — файл не открыт для вывода;
106 — неверный числовой формат;
150 — диск защищен от записи;
151 — неизвестный модуль;
152 — дисковод находится в состоянии «не готов»;
153 — неопознанная команда;
154 — в исходных данных;
155 — при запросе к диску неверная длина структуры;
156 — ошибка при операции установки головок на диске;
157 — неизвестный тип носителя;
158 — сектор не найден;
159 — кончилась бумага на устройстве печати;
160 — ошибка при записи на устройство;
161 — ошибка при чтении с устройства;
162 — сбой аппаратуры;
200 — деление на нуль;
201 — ошибка при проверке границ;
202 — переполнение стека;
203 — переполнение динамически распределяемой области памяти;
204 — недействительная операция ссылки;
205 — переполнение операции с плавающей запятой;
206 — исчезновение порядка при операции плавающей запятой;
207 — недопустимая операция с плавающей запятой;
208 — не установлена подсистема управления оверлеями;
209 — ошибка чтения оверлейного файла.
Пытаюсь прочитать записи в динамичсекую память, спецификация :
Const Max = 100;
type
MyData = array [1..Max] of ^MyRec;
MyRec = record
pole : string[12];
pole2 : string[12];
pole3 : string[13];
pole4 : string[11];
pole5 : integer;
pole6 : integer;
end;
WorkData : MyData;
Вот из — за этого цикла вылезает 208 ошибка перегрузки (пытаюсь читать 40 записей с файла). При этом если не исользовать динамичекую память, то всё идеально работает, но как только этот цикл, то :
for i:=1 to filesize(fails) - 1 do
begin
read(file,rec);
Workdata[i]^:=rec;
end;
Спасибо.
Добавлено через 9 мин.
Ошибка возникает даже тогда когда я просто пытаюсь присвоить любое значения записи и даже без цикла :
Workdata[i]^:=rec;
Может что — то не так в спецификации ?
Сообщение отредактировано: Tan —
- Синтаксис языка
- Типы данных
- Стандартные модули
- Процедуры и функции
- Зарезервированные слова
- Директивы компилятора
- Сообщения об ошибках
- Ошибки выполнения
- Ошибки компиляции
- Примеры программ
- Описание среды разработки
Главная / Справочник / Сообщения об ошибках / Ошибки выполнения
Не установлен диспетчер оверлеев.
Описание
Ваша программа вызывает оверлейную процедуру или функцию, но не установлен диспетчер оверлеев.
Наиболее вероятно, что вы не вызываете OvrInit или обращение к OvrInit было некорректным.
ВНИМАНИЕ: Если у вас есть код инициализации в любом из ваших оверлейных модулей, вы должны создать дополнительный модуль без оверлея, который вызывает OvrInit, и использовать этот модуль перед любым из модулей с оверлеями.
201 : range error
215 : overflow checking when doing computation with integer
202 : overflow stack
106 : invalid numeric format
1 : invalid function number
2 : file not found
3 : path not found
4 : too many open files
5 : file access denied
6 : invalid file handle
12 : invalid file access code
15 : invalid drive number
16 : cannot remove current directory
17 : cannot rename across
18 : no more files
100 : disk read error
101 : disk write error
102 : file not assigned
103 : file not open
104 : file not open for input
105 : file not open for output
150 : disk is write protected
151 : bad drive request structure length
152 : drive not ready
154 : CRC error in data
156 : disk seek error
157 : unknown media type
158 : sector not found
159 : printer out of paper
160 : device write fault
161 : device read fault
162 : hardware failure
200 : div by zero
203 : heap overflow
204 : invalid pointer operation
205 : floating point overflow
206 : floating point underflow
207 : invalid floating point operation
208 : overlay manager not installed
209 : overlay file read error
210 : object not initialized
211 : call to abstract method
212 : stream registration error
213 : collection index out of range
214 : collection overflow error
216 : general protection fault
217 : invalid operation code
227 : assertion failed
300 : file IO error
301 : non-matched array bounds
302 : non-local procedure pointer
303 : procedure pointer out of scope
304 : function not implemented
305 : breakpoint error
306 : break by ctrl/c
307 : break by ctrl/break
308 : break by other process
309 : no floating point coprocessor
310 : invalid variant type operation