Ordinal expression expected паскаль
Диагностические сообщения компилятора Delphi
Типов сообщений компилятора — более двухсот. Рассмотрим перечень наиболее встречающихся сообщений класса Error
- 0. expected but found. Обычно это сообщение возникает при синтаксической ошибке.Например,в случае небаланса скобок,компилятор сообщит: ‘)’ expected but ‘;’ found (вместо ожидавшейся скобки найдена запятая).
Компилятор часто сообщает, что ‘end’ ожидается,например:x:= 5,7; здесь неуместен разделитель-запятая, а сообщается про end. (‘END’ expected but ‘,’ found)
Например, вследствие описки дважды используется имя i в кратном цикле:
Рассмотрим также некоторые сообщения классов warning и hint.
- Return value of function might be undefined. В теле функции нет присваивания ее результата.
- Variable might not have been initialized. Указывает имя переменой, которой не задали значения.
- For-Loop variable may be undefined after loop. Попытка использования значения параметра For-цикла после завершения этого цикла.
- Text after final ‘END.’ ignored by compiler. Текст, идущий за конечной строкой модуля, игнорируется компилятором.
- Variable is declared but never used in . Обращает внимание на переменную , описанную,но не нашедшую применения.
- Value assigned to never used. Хотя бы одно значение переменной никак не использовано.
Несколько рекомендаций
Сосредотачивайтесь на первом сообщении компилятора. Исправление хотя бы одной ошибки и повторная компиляция может значительно уменьшить число сообщений об ошибках,поэтому не упорствуйте, стремясь понять сразу причину каждого сообщения.
Не удаляйте прежний вариант кода,пока не убедитесь,что ошибка устранена. Лучше на время закомментировать код,заключив его в скобки:
Компилятор не анализирует, как будет выполняться программа, поэтому выход значения индекса из диапазона выявляет только если индекс задан константным выражением. Деление на ноль вообще пропускается, кроме оператора div, в случае если делитель — константное выражение.
прикладная математика
Ошибки компиляции (Турбо-Паскаль)
1. Out of memory (Выход за границы памяти)
2. Identifier expected (Не указан идентификатор)
3. Unknown identifier (Неизвестный идентификатор)
4. Duplicate identifier (Двойной идентификатор)
5. Syntax error (Синтаксическая ошибка)
6. Error in integer constant (Ошибка в целой константе)
7. String constant exceeds fine (Строковая константа превышает допустимые размеры)
8. Error in real constant (Ошибка в вещественной константе)
9. Unexpected end of file (Не найден конец файла)
10. Line too tons (Слишком длинная строка)
11. Type identifier expected (Здесь нужен идентификатор типа)
12. Too many open files (Слишком много открытых файлов)
13. File not found (Файл не найден)
14. Invalid file name (Неверное имя файла)
15. Disk full (Диск заполнен)
16. Undefiner typein pointer definition (Неопределенный тип в объявлении указателя)
17. Variable identifier expected (Отсутствует идентификатор переменной)
18. Error in type (Ошибка в объявлении типа)
19. Structure too large (Слишком большая структура)
20. Set-base type of range (Базовый тип множества нарушает границы)
21. File components may not be files (Компонентами файла не могут быть файлы)
22. Invalid string length (Неверная длина строки)
23. Type mismatch (Несоответствие типов)
24. Invalid subrange base type (Неправильный базовый тип для типа диапазона)
25. Lower bound greater than upper bound (Нижняя граница больше верхней)
26. Ordinal type expected (Нужен порядковый тип)
27. Integer constant expected (Нужна целая константа)
28. Consant expected (Нужна константа)
29. Integer or real constant expected (Нужна целая или вещественная константа)
30. Pointer type identifier expected (Нужен идентификатор типа)
31. Invalid function result type (Неправильный тип результата функции)
32. Label identifier expected (Нужен идентификатор метки)
33. BEGIN expected (Нужен BEGIN)
34. END expected (Нужен END)
35. Integer expression expected (Нужно выражение типа INTEGER)
36. Ordinal expresiion expected (Нужно выражение перечисляемого типа)
37. Boolean expression expected (Нужно выражение типа BOOLEAN)
38. Operand types do not match operator (Типы операндов не соответствуют операции)
39. Error in expression (Ошибка в выражении)
40. Illegal assigment (Неверное присваивание)
41. Field identifier expected (Нужен идентификатор поля)
42. Code segment too large (Сегмент кода слишком большой)
43. Data segment too large (Сегмент данных слишком велик)
44. DO expected (Нужен оператор DO)
45. OF expected (Требуется OF)
46. INTERFACE expected (Требуется интерфейсная секция)
47. Invalid relocatable refence (Неправильная перемещаемая ссылка)
48. THEN expected (Требуется THEN)
49. TO or DOWNTO expected (Требуется TO или DOWNTO)
50. Undefiner forward (Неопределенное опережающее описание)
51. Invalid typecast (Неверное преобразование типа)
52. Division by zero (Деление на нуль)
53. Invalid file type (Неверный файловый тип)
54. Cannot Read or Write variables of this type (Нет возможности считать или записать переменые данного типа)
55. Pointer variable expected (Нужно использовать переменную-указатель)
56. String variable expected (Нужна строковая переменная)
57. String expression expected (Нужно выражение строкового типа)
58. Circular unit refence (Перекрестная ссылка модулей)
59. Unit name mismatch (Несоответствие имен программных модулей)
60. Unit version masmatch (Несоответствие версий модулей)
61. Internal stack overflow (Переполнение внутреннего стока)
62. Unit file format error (Ошибка формата файла модуля)
63. Implementation expected (Отсутствует исполняемая часть модуля)
64. Constant and case types do not match (Типы констант и тип выражений оператора CASE не соответствуют друг другу)
65. Record or object variable expected (Нужна переменная типа запись или объект)
66. Constant out of range (Константа нарушает границы)
67. File variable expected (Нужна файловая переменная)
68. Pointer expression expected (Нужно выражение типа указатель)
69. Integer or real expression expected (Нужно выражение вещественного или целого типа)
70. Label not within current block (Метка не находится внутри текущего блока)
71. Label already defined (Метка уже определена)
72. Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов)
73. Invalid @ argement (Неправильный аргумент операции @)
74. Unit expected (Нужно кодовое слово Unit)
75. expected (Нужно указать )
76. expected (Нужно указать )
77. expected (Нужно указать )
78. expected (Нужно указать )
79. expected (Нужно указать )
80. expected (Нужно указать )
81. expected (Нужно указать )
82. or expected (Нужно указать или )
83. or expected (Нужно указать или )
84. expected (Нужно указать )
85. expected (Нужно указать )
86. Too many variables (Слишком много переменных)
87. Invalid FOR control variable (Неправильный параметр цикла оператора FOR)
88. Integer variable expected (Нужна переменная целого типа)
89. Files types are not allowed here (Здесь не могут использоваться файлы)
90. String length mismatch (Несоответствие длины строки)
91. Invalid orering of fields (Неверный порядок полей)
92. String constant expected (Нужна константа строкового типа)
93. Integer or real variable expected (Нужна переменная типа INTEGER или REAL)
94. Ordinal vairale expected (Нужна переменная порядкового типа)
95. Character expression expected (Предшествующее выражение должно символьный тип)
96. Overflow in arithmetic operation (Переполнение в арифметической операции)
97. No enclosing For, While or Repeat statement (Операторы For, While или Repeat без окончания)
98. Case constant out of range (Константа Case нарушает допустимые границы)
99. Error in statement (Ошибка в операторе)
100. Must be in 8087 mode to compile this (Для компиляции необходим режим 8087)
101. Target address not found (Указанный адрес не найден)
102. Include files are not allowed here (Здесь не допускаются включаемые файлы)
103. Invalid qualifier (Неверный квалификатор)
104. Invalid variable refence (Недействительная ссылка на переменную)
105. Too many symbols (Слишком много обозначений)
106. Statement part too large (Слишком большой раздел операторов)
107. Files must be var parameters (Файлы должны передаваться по имени)
108. Header does not match previous definition (Заголовок не соответствует предыдущему определению)
109. Cannot evaluate this expression (Некорректное вычисление выражения)
110. Invalid format specifier (Неверный спецификатор формата)
111. Invalid indirect refence (Недопустимая косвенная ссылка)
112. Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа)
113. Cannot evaluate without System unit (Нельзя вычислить выражение без модуля SYSTEM)
114. Cannot access this symbol (Нет доступа к данному символу)
115. Invalid floating-point operation (Недопустимая операция с плавающей запятой)
116. Procedure or function variable expected (Должна использоваться переменная процедурного типа)
117. Invalid procedure or function refence (Недопустимая ссылка на процедуру или функцию)
118. File access denied (Отказ в доступе к файлу)
119. Object type expected (Здесь должен быть тип OBJECT)
120. Local object types are not allowed (Нельзя объявлять локальные объекты)
121. VIRTUAL expected (Пропущено слово VIRTUAL)
122. Method identifier expected (Пропущен идентификатор инкапсулированного правила)
123. Virtual constructor are not allowed (Конструктор не может быть виртуальным)
124. Destructor identifier expected (Пропущен идентификатор деструктора)
125. Fail only allowed within constructor (Неизвестный модуль)
126. Invalid combination of opcode and operends (Недопустимая комбинация кода команды и операндов)
124. Memory refence expected (Нужна ссылка на память)
125. Invalid symbol refence (Неверное обозначение ссылки)
126. Code generation error (Ошибка при генерации программы)
127. Duplicate dynamic method index (Повторяется индекс динамического правила)
128. Procedure or function identifier expected (Нужен идентификатор процедуры или функции)
2) Ошибки, возникающие во время выполнения программы
Некоторые ошибки, обнаруженные во время выполнения программы, приводят к
появлению на экране сообщения вида:
Runtime error nnn at xxxx:yyyy
(ошибка периода исполнения nnn по адресу xxxx:yyyy), где nnn- номер ошибки,
xxxx:yyyy- адрес (сегмент и смещение). После этого сообщения программа завершает
свою работу.
Ошибки периода исполнения делятся на четыре категории:
1) Ошибки, обнаруживаемые ДОС (коды ошибок 1-99);
2) Ошибки вводавывода (100-149);
3) Критические ошибки (150-199);
4) Фатальные ошибки (200-255);
3) Ошибки, обнаруживаемые ДОС
1. Invalid function number (Неверный номер функции)
2. File not found (Не найден файл)
3. Path not found (Путь не найден)
4. Too many open files (Слишком много открытых файлов)
5. File access defined (Отказано в доступе к файлу)
6. Invalid file handle (Недопустимый файловый канал)
7. Invalid file access code (Недействительный код доступа к файлам)
8. Invalid drive number (Недопустимый номер дисковода)
9. Cannot remove current directory (Нельзя удалить текущий каталог)
10. Cannot rename across drives (Нельзя при переименовании указывать разные дисководы)
4) Ошибки вводавывода
1. Disk read error (Ошибка чтения с диска)
2. Disk write error (Ошибка записи на диск)
3. File not assigned (Файлу не присвоено имя)
4. File not open (Файл не открыт)
5. File not openor output (Файл не открыт для вывода)
6. Invalid numeric format (Неверный числовой формат)
5) Критические ошибки
1. Disk is write protected (Диск защищен от записи)
2. Unknown unit (Неизвестный модуль)
3. Drive not ready (Дисковод находится в состоянии «Не готов «)
4. Unknown command (Неопознанная команда)
5. CRC error in data (Ошибка в исходных данных)
6. Bad drive request strukture length (При обращении к диску указана неверная длина структуры)
7. Disk seek error (Ошибка при операции установки головок на диск)
8. Unknown media type (Неизвестный тип носителя)
9. Sector not found (Сектор не найден)
10. Printer out of paper (Кончилась бумага на принтере)
11. Device writeemit (Ошибка при записи на устройство)
12. Device read fault (Ошибка при чтении с устройства)
13. Hardware failure (Сбой аппаратуры)
6) Фатальные ошибки
Эти ошибки всегда приводят к немедленной остановке программы.
1. Division by zero (Деление на нуль)
2. Range check error (Ошибка при проверке границ)
3. Stack overflow error (Переполнение стека)
4. Hearp overflow error (Переполнение кучи)
5. Invalid pointer operation (Недействительная операция с указателем)
6. Floating point overflow (Переполнение при операции с плавающей запятой)
7. Invalid floating point operation (Недопустимая операция с плавающей запятой)
8. Floating point underflow (Исчезновение порядка при операции с плавающей запятой)
9. Object not initialized (Не инициирован объект)
10. Call to abstract method (Вызов абстрактного правила)
Список ошибок компилятора Турбо-Pascal с расшифровкой
Список ошибок компилятора Турбо-Паскаль с расшифровкой:
1 Out of memory — Нет памяти
2 Identifier expected — Идентификатор пропущен
3 Unknown identifier — Неизвестный идентификатор
4 Duplicate identifier — Двойной идентификатор
5 Syntax error — Синтаксическая ошибка
6 Error in real constant — Ошибка в вещественной константе
7 Error in integer constant — Ошибка в целочисленной константе
8 String constant exceeds line — Строковая константа превышает строку
10 Unexpected end of file — Непредвиденный конец файла
11 Line too long — Строка слишком длинная
12 Type identifier expected — Ожидается идентификатор типа
13 Too many open files — Слишком много открытых файлов
14 Invalid file name — Недопустимое имя файла
15 File not found — Файл не найден
16 Disk full — Диск заполнен
17 Invalid compiler directive — Недопустимая директива компилятора
18 Too many files — Слишком много файлов
19 Undefined type in pointer def — Неопределенный тип в описании указателя
20 Variable identifier expected — Пропущен переменный идентификатор
21 Error in type — Ошибка в типе
22 Structure too large — Структура слишком большая
23 Set base type out of range — Исходный тип набора вне диапазона
24 File components may not be files or objects — Компоненты файла не могут быть файлами или объектами
25 Invalid string length — Недопустимая длина строки
26 Type mismatch — Несоответствие типов
27 Invalid subrange base type — Недопустимый исходный тип поддиапазона
28 Lower bound > than upper bound — Нижняя граница > чем верхняя
29 Ordinal type expected — Ожидается перечислимый тип
30 Integer constant expected — Ожидается целочисленная константа
31 Constant expected — Ожидается константа
32 Integer or real constant expected Ожидается целочисленная или вещественная константа
33 Pointer Type identifier expected Ожидается идентификатор указательного типа
34 Invalid function result type — Неверный тип результата функции
35 Label identifier expected — Ожидается идентификатор метки
36 BEGIN expected — Ожидается BEGIN
37 END expected — Ожидается END
38 Integer expression expected — Ожидается выражение Integer
39 Ordinal expression expected — Ожидается выражение Ordinal
40 Boolean expression expected — Ожидается выражение Boolean
41 Operand types do not match — Тип операндов не соответствует оператору
42 Error in expression — Ошибка в выражении
43 Illegal assignment — Запрещенное присваивание
44 Field identifier expected — Пропущен идентификатор поля
45 Object file too large — Объектный файл слишком велик
46 Undefined EXTERN — Неопределенный EXTERN
47 Invalid object file record Недопустимая запись объектного файла
48 Code segment too large Сегмент кода слишком большой
49 Data segment too large Сегмент данных слишком большой
50 DO expected Пропущен DO
51 Invalid PUBLIC definition — Недопустимое PUBLIC определение
52 Invalid EXTRN definition — Недопустимое EXTRN определение
53 Too many EXTRN definitions — Слишком много EXTRN определений
54 OF expected — Ожидается OF
55 INTERFACE expected — Пропущено INTERFACE
56 Invalid relocatable reference — Недопустимая перемещаемая ссылка
57 THEN expected — Ожидается THEN
58 TO or DOWNTO expected — Пропущено TO или DOWNTO
59 Undefined forward — Неопределенное forward
61 Invalid typecast — Недопустимое приведение типа
62 Division by zero — Деление на нуль
63 Invalid file type — Недопустимый тип файла
64 Cannot read or write variables of this type — Не могу Считывать или Записывать переменные этого типа
65 Pointer variable expected — Ожидается переменная указательного типа
66 String variable expected — Ожидается строковая переменная
67 String expression expected — Ожидается строковое выражение
68 Circular unit reference — Круговые ссылки в модулях
69 Unit name mismatch — Несоответствие имени модуля
70 Unit version mismatch — Несоответствие версии модуля
71 Internal stack overflow — Переполнение внутреннего стека
72 Unit file format error — Ошибка формата файла модуля
73 Implementation expected — Ожидается IMPLEMENTATION
74 Constant and case types don’t match — Тип константы и тип варианта не совпадают
75 Record or object variable expected — Ожидается запись или объектная переменная
76 Constant out of range — Константа вне диапазона
77 File variable expected — Ожидается файловая переменная
78 Pointer expression expected — Ожидается выражение типа Pointer
79 Integer or real expression expected — Ожидается целочисленное или вещественное выражение
80 Label not within current block — Метка не внутри текущего блока
81 Label already defined — Метка уже определена
82 Undefined label in preceding stmt part — Неопределенная метка в предшествующей операторной части
83 Invalid @ argument — Недопустимый @ параметр
84 UNIT expected — Ожидается UNIT
85 «;» expected — Пропущен «;»
86 «:» expected — Пропущен «:»
87 «,» expected — Пропущен «,»
88 «(» expected — Пропущен «(«
89 «)» expected — Пропущен «)»
90 «=» expected — Пропущен «=»
91 «:=» expected — Пропущен «:=»
92 «[» or «(.» expected — Пропущен «[» или «(.»
93 «]» or «.)» expected — Пропущен «]» или «.)»
94 «.» expected — Пропущен «.»
95 «..» expected — Пропущен «..»
96 Too many variables — Слишком много переменных
97 Invalid FOR control variable — Недопустимая переменная для FOR
98 Integer variable expected — Ожидается целочисленная переменная
99 Files types are not allowed here — Здесь недопустим файловый тип
100 String length mismatch — Несоответствие длин строк
101 Invalid ordering of fields — Недопустимый порядок полей
102 String constant expected — Ожидается строковая константа
103 Integer or real variable expected — Ожидается целочисленная или вещественная переменная
104 Ordinal variable expected — Ожидается порядковая переменная
105 INLINE error — Ошибка INLINE
106 Character expression expected — Ожидается символьное выражение
107 Too many relocation items — Слишком много единиц настройки
108 Overflow in arithmetic operation — Переполнение в арифметической операции
109 No enclosing For, While or Repeat statement — Нет закрывающих FOR, WHILE или REPEAT операторов
112 CASE constant out of range — Константа варианта вне диапазона
113 Error in statement — Ошибка в операторе
114 Cannot call an interrupt procedure — Не могу вызвать процедуру прерывания
116 Must be in 8087 mode to compile — Для компиляции нужно быть в режиме 8087
117 Target address not found — Не найден адрес цели
118 Include files are not allowed here — Файлы для включения здесь не позволяются
119 No inherited methods are accessible here — Здесь недоступны наследованные методы
121 Invalid qualifier — Недопустимый спецификатор
122 Invalid variable reference — Недопустимая ссылка на переменную
123 Too many symbols — Слишком много символов
124 Statement part too large — Операторная часть слишком большая
126 Files must be var parameters — Файлы должны быть var-параметрами
127 Too many conditional symbols — Слишком много условных символов
128 Misplaced conditional directive — Неверно расположенная директива условного выражения
129 ENDIF directive missing — Пропущена ENDIF директива
130 Error in initial conditional defines — Ошибка в начальных условных определениях
131 Header does not match previous definition — Заголовок не соответствует предыдущему определению
133 Cannot evaluate this expression — Не могу оценить это выражение
134 Expression incorrectly terminated — Выражение некорректно завершено
135 Invalid format specifier — Некорректный спецификатор формата
136 Invalid indirect reference — Недопустимая косвенная ссылка
137 Structured variables are not allowed here — Структурные переменные здесь не позволяются
138 Cannot evaluate without System unit — Не могу оценивать без System-модуля
139 Cannot access this symbol — Не могу обращаться к этому символу
140 Invalid floating-point operation — Недопустимая операция с плавающей точкой
141 Cannot compile overlays to memory — Не могу компилировать оверлеи в память
142 Pointer or procedural variable expected — Ожидается указатель или процедурная переменная
143 Invalid procedure or function reference — Неверная ссылка на процедуру или функцию
144 Cannot overlay this unit — Этот модуль не может быть оверлеем
145 Too many nested scopes — Слишком много вложенных областей
146 File access denied — Доступ к файлу закрыт
147 object type expected — Ожидается объектный тип
148 Local object types are not allowed — Локальные объектные типы не позволены
149 Virtual expected — Ожидается Virtual
150 Method identifier expected — Ожидается идентификатор метода
151 Virtual constructors are not allowed — Виртуальные конструкторы не позволяются
152 Constructor identifier expected — Ожидается идентификатор конструктора
153 Destructor identifier expected — Ожидается идентификатор деструктора
154 Fail only allowed within constructors Fail — позволен только внутри конструкторов
155 Invalid combination of opcode and operands — Недопустимая комбинация кода операции и операндов
156 Memory reference expected — Ожидается ссылка на память
157 Cannot add or subtract relocatable symbols — Не могу складывать или вычитать перещаемые символы
158 Invalid register combination — Недопустимая комбинация регистров
159 286/287 instructions are not enabled — Команды 286/287 не допускаются
160 Invalid symbol reference — Неверная ссылка на символ
161 Code generation error — Ошибка генерации кода
162 ASM expected — Ожидается ASM
163 Duplicate dynamic method index — Двойной индекс динамического метода
164 Duplicate resource identifier — Двойной идентификатор ресурса
165 Duplicate or invalid export clause — Двойной или недопустимый экспортный индекс
166 Procedure or function identifier expected — Ожидается идентификатор процедуры или функции
167 Cannot export this symbol — Нельзя экспортировать этот символ
168 Duplicate export name — Двойное экспортируемое имя
169 Executable file header too large — Заголовок исполняемого файла слишком большой