Ошибка 113 в турбо паскаль

Бушуева Марина

0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

1

23.10.2012, 18:19. Показов 18230. Ответов 21

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Pascal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j,l:byte;
    sm,b:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов n=');
readln(n);
until n in [1..nmax];
{вычисление сумм четных положительных в строках
и запись их в дополнительный столбец}
for i:=1 to m do
 begin
  sm:=0;
  for j:=1 to n do
   begin
    a[i,j]:=random(20);
    sm:=sm+a[i,j];
   end;
  a[i,n+1]:=sm;
 end;
writeln('Исходный массив:');
writeln('Сумма':(n*4+8));
for i:=1 to m do
 begin
  for j:=1 to n+1 do
  if j=n+1 then write(a[i,j]:6)
  else write(a[i,j]:4);
  writeln;
 end;
{перестановка строк по неубыванию сумм(по последнему столбцу)}
for i:=1 to m-1 do
for l:=i+1 to m do
if a[i,n+1]<a[l,n+1] then
for j:=1 to n+1 do
 begin
  b:=a[i,j];
  a[i,j]:=a[l,j];
  a[l,j]:=b;
 end;
writeln('Строки по неубыванию сумм:');
writeln('Сумма':(n*4+8));
for i:=1 to m do
 begin
  for j:=1 to n+1 do
  if j=n+1 then write(a[i,j]:6)
  else write(a[i,j]:4);
  writeln;
 end;
readln
end.

здесь ошибка



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:25

2

Здесь нет никакой ошибки. Там где Вы это скопировали уже исправлено и Вам об этом сообщено.

Добавлено через 53 секунды
А если хотите карточку за клевету, то нет проблем, только намекните.



0



0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

23.10.2012, 18:28

 [ТС]

3

я ничего против не говорю..просто мне паскаль выдает такую ошибку..
в самом конце…где написано End. прям на этой строчке



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:29

4

Какой Паскаль?



0



142 / 111 / 61

Регистрация: 01.08.2012

Сообщений: 297

23.10.2012, 18:30

5

У меня этот код работает



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:33

6

Вот в Паскаль АВС.

Миниатюры

Ошибка 113. Ошибка в инструкции
 

Ошибка 113. Ошибка в инструкции
 



1



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:34

7

Сейчас сделаю в Турбо.



0



0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

23.10.2012, 18:34

 [ТС]

8

у меня турбо паскаль



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:37

9

Вот в Турбо.

Миниатюры

Ошибка 113. Ошибка в инструкции
 

Ошибка 113. Ошибка в инструкции
 



1



0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

23.10.2012, 18:39

 [ТС]

10

а у меня вот не идет..сейчас проверю у себя



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 18:44

11

Нужно не перепечатывать, а копировать и сохранять с расширением .pas



0



0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

23.10.2012, 18:59

 [ТС]

12

ну все равно ошибка

Добавлено через 4 минуты
ну не получается



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 19:22

13

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот файлы Турбо Паскаля.



0



0 / 0 / 0

Регистрация: 16.10.2012

Сообщений: 59

23.10.2012, 19:26

 [ТС]

14

не подходит

Добавлено через 58 секунд
надо 64



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 19:45

15

Что-то Вы темните, Турбо Паскаль он и в Африке Турбо Паскаль.



0



43 / 43 / 33

Регистрация: 05.12.2011

Сообщений: 201

23.10.2012, 20:21

16

Цитата
Сообщение от Бушуева Марина
Посмотреть сообщение

не подходит

Добавлено через 58 секунд
надо 64

не врите, все работает прекрасно, и вообще пришлите скрин с ошибкой



0



Дзæуджыхъæу

232 / 204 / 148

Регистрация: 20.09.2012

Сообщений: 421

Записей в блоге: 1

23.10.2012, 20:40

17

Цитата
Сообщение от morgan57
Посмотреть сообщение

не врите

штош вы так грубо
Кстати у меня тп 7 и выдает 200(деление на 0) ошибку
Почти везде или просто не компилирует программу вовсе?

Миниатюры

Ошибка 113. Ошибка в инструкции
 



0



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 20:47

18

Цитата
Сообщение от domovou2.0
Посмотреть сообщение

Кстати у меня тп 7 и выдает 200(деление на 0) ошибку

Так у Вас не тянет устарелый модуль CRT, нужно заменить, или пока уберите его и clrscr;



1



Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

23.10.2012, 20:56

19

Попробуйте заменить на этот.



1



43 / 43 / 33

Регистрация: 05.12.2011

Сообщений: 201

23.10.2012, 20:57

20

Цитата
Сообщение от Puporev
Посмотреть сообщение

Попробуйте заменить на этот.

Не по теме:

а чем они отличаются, не объясните?



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

23.10.2012, 20:57

20

С этого символа не может начинаться
оператор.

116. Must
be
in
8087
mode
to
compile
this
(
для
компиляции этой конструкции должен
быть режим 8087)

Эта конструкция может компилироваться
только в состоянии {$N+}.
Операция над 8087 типами Single,
Double,
Extended
и Comp
недопустимы в состоянии {$N-}.

121. Invalid
Qualifier

(
неправильный
квалификатор)

  • Попытка индексировать переменную,
    которая отсутствует в массиве.

  • Попытка задать поля в переменной,
    которая не является записью.

  • Попытка получить значение, на которое
    указывает переменная, не являющаяся
    указателем.

122. Invalid
variable
reference
(
неправильная
ссылка на переменную)

Предыдущая конструкция следует синтаксису
ссылки на переменную, но не обозначает
размещение памяти. Наиболее вероятно,
Вы вызвали функцию указателя, но забыли
получить значение, на которое указывает
результат.

123. Too
many
symbols
(
слишком
много символов)

Программа или модуль объявляет более
64К символов. Если программа или модуль
компилируется с опцией {$D+}, то попробуйте
ее выключить — заметим, однако, что это
будет препятствовать нахождению ошибок
выполнения в этом модуле. В противном
случае, можно попробовать переместить
несколько объявлений в отдельный модуль.

129.
ENDIF directive missing (
отсутствует
директива
EndIf)

Исходный файл заканчивается внутри
конструкции условной компиляции. В
исходном файле должно быть одинаковое
количество директив {$IFxxx}
и {$ENDIF}.

133.
Cannot evaluate this expression (
нельзя
вычислить
это
выражение)

Попытка использовать неподдерживаемое
Turbo Pascal
свойство в константном выражении или
в отладочном выражении. Например, Вы
пытаетесь использовать функцию Sin
в объявлении константы, или Вы пытаетесь
вызвать функцию, определенную
пользователем, в отладочном выражении.

134.
Expression
incorrectly
terminated
(
выражение
завершается неправильно)

Turbo Pascal
ожидает или оператор, или конец выражения
в этой точке, но ничего не находит.

135. Invalid
format
specifier
(
неправильный
спецификатор формата
)

Используется неправильный спецификатор
формата или числовой аргумент спецификатора
формата выходит за допустимый диапазон.

140.Invalid
floatingpoint
operation
(
Неправильная
операция с плавающей точкой)

Операция над двумя значениями вещественного
типа привела к переполнению или является
делением на ноль.

147 Object
type
expected
(
Ожидается
объектный тип.)

Идентификатор не является объектным
типом.

150 Method
identifier
expected.
(
Идентификатор
метода ожидается.)

Идентификатор не является методом.

Некоторые ошибки во время выполнения
программы приводят к тому, что программа
выводит на дисплей сообщение об ошибке
и завершается:

Run-time error nnn at xxxх:yyyy

(ошибка выполнения nnn по адресу
xxxх:yyyy, где nnn-номер ошибки
выполнения, а xxxx:yyyy — адрес ошибки
выполнения (сегмент и смещение))

Ошибки выполнения разделены на четыре
категории:

  • ошибки операционной системы DOS:1-99

  • ошибки ввода/вывода:100-149

  • критические ошибки :150-199

  • фатальные ошибки:200-255.

106. Invalid
numeric
format
(
неправильный
числовой формат)

Сообщается процедурами Read
и ReadLn,
если числовое значение, прочитанное из
текстового файла не соответствует
правильному числовому формату.

200.
Division
by
zero
(
деление
на ноль)

201. Ошибка
выхода за допустимый диапазон. Эта
ошибка сообщается операторами,
откомпилированными в состоянии {$R+},
когда возникает одна из следующих
ситуаций:

  • Индексное выражение квалификатора
    массива выходит за допустимый диапазон.

  • Была сделана попытка присвоить переменной
    значение, выходящее за допустимый
    диапазон.

  • Была сделана попытка передать процедуре
    или функции в качестве параметра
    значение, выходящее за допустимый
    диапазон.

202. Stack
overflow
error
(
ошибка
переполнения стека)

Эта ошибка сообщается при входе в
процедуру или функцию, откомпилированную
в состоянии {$S+}, когда в стеке нет
достаточно места для размещения локальных
переменных подпрограмм. Увеличьте
размер стека с помощью директивы
компилятора $M. Эта ошибка может возникать
так же из-за бесконечной рекурсии.

205.
Floating
point
overflow
(
переполнение
с плавающей точкой)

Операция с плавающей точкой обрабатывает
слишком большое для Turbo
Pascal или сопроцессора
число.

206.
Floating
point
underflow
(
потеря
значности при операции с плавающей
точкой)

Операция с плавающей точкой приводит
к потере значности. Эта ошибка сообщается,
если только используется числовой
сопроцессор 8087 с контрольным словом,
которое не маскирует потерю значности.
По умолчанию, потеря значности вызывает
возвращение нулевого результата.

207. Invalid
floating
point
operation
(
неправильная
операция с плавающей точкой)

  • Вещественное значение, передаваемое
    Trunc
    или Round,
    не может быть преобразовано в целое
    внутри диапазона для типа LongInt
    (-2147483648 до 214783647)

  • Аргумент, передаваемый функции Sqrt,
    является отрицательным числом.

  • Аргумент, передаваемый функции Ln,
    равен нулю или отрицательный.

  • Произошло переполнение стека сопроцессора
    8087.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
№ п/п Код и название ошибки Характеристика ошибки Пояснение

1

Error 1: Out of memory

Нехватка памяти

Это сообщение выводится, когда компилятору не хватает памяти

2

Error 2: Identifier expected

Ожидался идентификатор

Возможно, имя вашего идентификатора совпадает со служебным словом

3

Error 3: Unknown identifier

Неизвестный идентификатор

Этот идентификатор не был описан

4

Error 4: Duplicate identifier

Идентификатор продублирован

Этот идентификатор уже исполь-зовался в текущем блоке программы

5

Error 5: Syntax error

Синтаксическая ошибка

В тексте найден неправильный символ

6

Error 6: Error in real constant

Ошибка в константе действительного типа

Возможно, вы поставили десятичную запятую вместо десятичной точки

7

Error 7: Error in integer constant

Ошибка в константе целого типа

Константы, выходящие за пределы диапазона типа longint описы-ваются как действительные числа

8

Error 10: Unexpected end of file

Неожиданный конец файла

Количество операторов Begin и End не сбалансирована

9

Error 11: Line too long

Строка слишком длинная

Длина строки не должна превышать 127 символов

10

Error 12: Type identifier expected

Ожидается иденти-фикатор типа

Этот идентификатор не обозначает тип, как это должно быть

11

Error 15: File not found

Файл не найден

Файл не был найден ни в текущем каталоге, ни в других каталогах

12

Error 20: Variable identifier expected

Ожидается идентификатор переменной

Этот идентификатор не обозначает переменной, как должен был

13

Error 21: Error in type

Ошибка в типе

Этот символ не может начинать описание типа

№ п/п Код и название ошибки Характеристика ошибки Пояснение

14

Error 25: Invalid string length

Неправильная длина строки

Описанная максимальная длина строки должна быть в диапазоне 1…255

15

Error 26: Type mismatch

Несоответствие типов

Несовместимые типы переменной и выражения в операторе присваива-ния, несовместимые типы операн-дов в выражении, несовместимые типы формальных и фактических параметров в вызванной подпрограмме

16

Error 31: Constant expected

Ожидается константа

17

Error 32: Integer or real constant expected

Ожидается целая или действительная константа

18

Error 34: Invalid function result type

Неправильный тип результата функции

Правильными типами результата функции являются все простые типы

19

Error 36: BEGIN expected

Ожидается оператор Begin

20

Error 37: END expected

Ожидается оператор End

21

Error 38: Integer expression expected

Ожидается целое выражение

Предыдущее выражение должно быть целого типа

22

Error 41: Operand types do not match operator

Типы операндов не отвечают оператору

Оператор не может быть применён к операндам указанного типа

23

Error 42: Error in expression

Ошибка в выражении

Этот символ не может присутствовать в выражении

24

Error 50: DO expected

Ожидается служебное слово do

25

Error 54: Of expected

Ожидается служебное слово of

26

Error 57: THEN expected

Ожидается служеб-ное слово Then

№ п/п Код и название ошибки Характеристика ошибки Пояснение

27

Error 58: TO or DOWNTO expected

Ожидается служеб-ное слово to или downto

28

Error 62: Division by zero

Деление на нуль

Предыдущая операция пытается выполнить деление на нуль

29

Error 92: «[» or «(.» expected

Тут должна быть открывающая квадратная скобка

Вместо открывающей квадратной скобки можно использовать «(.»

30

Error 93: «]» or «).» expected

Квадратные скобки не закрыты

Вместо закрывающей квадратной скобки можно использовать «).»

31

Error 98: Integer variable expected

Ожидается переменная целого типа

32

Error 103: Integer or real variable expected

Ожидается пере-менная целого или вещественного типа

33

Error 108: Overflow in arithmetic operation

Переполнение в арифметической операции

Результат предыдущей операции выходит за пределы использованного типа данных.

34

Error 113: Error in statement

Ошибка в операторе

Оператор не может начинаться с этого символа

ЧАСТЬ
5. ПРИЛОЖЕНИЯ  
ПРИЛОЖЕНИЕ
А. 

СООБЩЕНИЯ
ОБ ОШИБКАХ


 Предыдущая
страница     |     Следующая
страница


 



Сообщения об ошибках компиляции.

      Приведенные ниже
списки возможных сообщений об  ошибках  можно получить  
от  компилятора  при  разработке  программы. 
Когда  это возможно,  компилятор  будет  выводить 
на  дисплей  дополнительную диагностическую  информацию  в виде имени идентификатора или файла, например :

         Error 15 : File not found (Window.TPU)

         (Ошибка 15 : Файл не найден)

     Когда ошибка  
обнаружена,  Turbo  Pascal  (в  интегрированной
среде) автоматически загружает исходный файл и  помещает 
курсор  в позицию  ошибки.  Компилятор  командной 
строки  выводит на дисплей сообщение  об  ошибке 
и  ее  номер,  а  также  исходную  строку 
и использует  знак  вставки  (^)  для  указания
места,  где произошла ошибка.

     Тем не  менее 
заметим,  что  некоторые  ошибки обнаруживаются несколько
позже в исходном тексте. Например, несоответствие типов в операторе 
присваивания  не может быть обнаружено до тех пор,  пока все
выражение после «:=» не будет вычислено.  В таких случаях
ищите ошибку слева или выше от курсора.

      1. Out of memory
(не хватает памяти)

      Эта ошибка 
происходит,  когда  компилятору не хватает памяти. Есть несколько
возможных решений этой проблемы:

     — если  опция 
Compile/Destination  имеет значение Memory,  то измените ее
значение на Disk в интегрированной среде.

     — если  опция 
Options/Compiler /Link buffer в интегрированной среде имеет значение
Memory ,  то измените  ее  значение  на  Disk.
В компиляторе  командной  строки  для  редактирования
на диск нужно использовать опцию /L.

     — если  используются 
любые  утилиты,  находящиеся  в  памяти, например
SideKick и SuperKey, то их нужно удалить из памяти.

     — если  используется 
Turbo.EXE,  то постарайтесь использовать вместо Turbo.EXE TPC.EXE,
эта программа использует меньше памяти.

     Если ни один вариант
не помогает, то эта программа или модуль, возможно,  просто слишком
большие для компиляции в доступном объеме памяти.  В  этом 
случае  нужно  разбить  модуль на два или большее количество
меньших модулей.

     2. Identifier expected
(ожидается идентификатор)

     В этой  точке 
предполагался   идентификатор.   Возможно,   Вы пытаетесь повторно объявить зарезервированное слово.

     3. Unknown identifier
(неизвестный идентификатор)

     Этот идентификатор 
не  объявлен  или  невидим  внутри текущей сферы
действия.

      4. Duplicate identifier
(дублируемый идентификатор)

      Этот идентификатор
уже был использован в текущем блоке.  

     5. Syntax error (синтаксическая
ошибка)

      В исходном тексте
был найден неправильный символ. Возможно, Вы забыли кавычки вокруг строковой
константы.

     6. Error  in 
real  constant (ошибка в константе вещественного типа)

      Синтаксис констант
вещественного  типа  определен  в  главе  1
«Лексемы и константы».

      7. Error  in integer constant (ошибка в константе целого типа)

      Синтаксис констант 
целого типа определен в главе 1 «Лексемы и константы». 
Заметим,  что за целыми  числами  вещественного 
типа, лежащими   за  пределами  максимального 
целого  диапазона,  должна следовать десятичная точка и ноль;
например :

            12345678912.0

     8. String constant exceeds
line (строковая  константа  выходит за пределы строки)

      Наиболее вероятно,  
что   Вы  забыли  закрывающую  кавычку  в строковой константе.

     9. Too many nested files
(слишком много вложенных файлов)  

     Компилятор допускает
не более 15  вложенных  файлов.  Наиболее вероятно, что
в программе более 14 вложенных файлов.

     10. Unexpected end of
file (неожиданный конец файла)

     Можно получить 
такое  сообщение  об  ошибке  из-за  следующих
причин:

     — исходный  файл 
заканчивается  перед  последним  end главной операторной
части.  Наиболее вероятно,  что  количество  операторов
begin и end несбалансировано.

     — включенный файл заканчивается
в середине  операторной части. Каждая  операторная  часть 
должна  полностью  содержаться  в одном файле.

     — не закрыт комментарий.

      11. Line too long
(строка слишком длинная)

      Максимальная длина
строки равна 126 символам.

      12. Type identifier
expected (ожидается тип идентификатора)

      Этот идентификатор
не обозначает тип, как это должно быть.

      13. Too many open
files (слишком много открытых файлов)

      Если произошла 
эта  ошибка,  то  или  в  файле CONFIG.SYS
нет записи FILES = xx,  или эта  запись  задает 
слишком  мало  файлов. Увеличьте это значение до некоторого
подходящего значения, например до 20.

      14. Invalid file
name (неправильное имя файла)

      Неправильное имя 
файла  или  задается   несуществующий   путь доступа.

      15. File not found
(файл не найден)

      Этот файл 
не  может  быть  найден в текущем справочнике или в любом
из поисковых справочников,  которые применяются к этому  типу
файла.

      16. Disk full
(диск полон)

      Удалите несколько
файлов или используйте новый диск.

      17. Invalid  
compiler   directive   (неправильная   директива компиляции)

      Буква директивы
компилятора  неизвестна,  один  из  параметров директивы  
компилятора   неизвестен  или  используется 
глобальная директива  компилятора,  когда  компиляция  
тела   программы   уже началась.

     18. Too many files (слишком
много файлов)

     В компиляцию  программы 
или  модуля  включено  слишком  много файлов. Попытайтесь
не  использовать  так  много  файлов,  например
посредством  объединения  включенных  файлов  или
укорачивания имен файлов.

     19. Undefined type in
pointer definition (неопределенный тип в определении указателя)

      На этот  тип ранее была ссылка в объявлении типа указателя, но он не был объявлен.

      20. Variable 
identifier  expected  (ожидается   идентификатор
переменной)

      Этот идентификатор 
не  обозначает переменную,  как это должно быть.

      21. Error in type
(ошибка в типе)

      Этот символ не
может начинать определение типа.

      22. Structure
too large (структура слишком большая)

      Максимальный допустимый
размер структурного типа  равен  65520 байтам.

     23. Set  base type
out of range (базовый тип множества выходит за допустимый диапазон)

      Базовый тип множества 
должен  быть  поддиапазоном  ,  который находится
внутри диапазона 0..255,  или перечислимым типом, который имеет
не более 256 возможных значений.

     24. File components may
not be files or  objects (компонентами файла не могут быть файлы
или объекты)

      В качестве файловых
компонент не могут быть файлы или объекты, а так же ни один из структурных
типов, которые включают тип объекта или файла.

      25. Invalid string
length (неправильная длина строки)

      Объявленная максимальная  длина строки должна быть в диапазоне 1..255.

      26. Type mismatch
(несоответствие типов)

      Это может быть
по следующим причинам:

      — несовместимые 
типы  переменной  и  выражения  в   операторе
присваивания

     — несовместимые типы
фактического и  формального  параметра  в вызове процедуры
или функции

     — тип  выражения, 
который  несовместим  с  типом  индекса   в индексации массива

     — несовместимые типы
операндов в выражении.

      27. Invalid subrange
base  type  (неправильный  поддиапазонный базовый тип)

      Все порядковые
типы являются допустимыми базовыми типами.

      28. Lower 
bound  greater  than  upper  bound  (нижняя
граница больше верхней границы)

      В объявлении 
поддиапазонного  типа  нижняя  граница   указана
больше верхней границы.

      29. Orginal type
expected (ожидается порядковый тип)

      В данном случае
вещественный, строковый, структурный тип и тип указателя недопустим.

     30. Integer constant
expected (ожидается целая константа)

     31. Constant expected
(ожидается константа)

     32. Integer or real constant 
expected  (ожидается  целая  или вещественная константа)

      33. Type identifier
expected (ожидается тип идентификатора)

      Этот идентификатор
не обозначает тип указателя, как это должно быть.

      34. Invalid function
result type (неправильный  тип результата функции)

      Правильными типами 
результатов  функций  являются все простые типы, строковые
типы и типы указателей.

      35. Label  identifier expected (ожидается идентификатор метки)

      Этот идентификатор
не обозначает метку, как это должно быть.

      36. Begin expected
(ожидается оператор begin)

      37. End expected
(ожидается оператор end)

      38. Integer expession
expected (ожидается целое выражение)

      Предыдущее выражение
должно быть целого типа.

      39. Ordinal  
expession    expected    (ожидается    выражение порядкового типа)

      Предыдущее выражение
должно быть порядкового типа.

      40. Boolean   
expression    expected   (ожидается   выражение булевского типа)

      41. Operand types
do not match  operator  (типы  операндов  не соответствуют
оператору)

      Оператор не  
может   быть   применен   к  
операндам    этого типа, например ‘A’ div ‘2’.

      42. Error in expression
(ошибка в выражении)

      Этот символ 
не  может  участвовать  в   выражении 
 указанным способом.   Возможно, Вы  забыли  
написать  оператор  между  двумя операндами.

     43. Illegal assignment(неправильное
присваивание)

     — Файлы   и  
нетипированные   переменные   не   могут    быть присваиваемыми значениями.

     — Идентификатору функции 
можно  присваивать  значения  только внутри операторной
части функции.

      44. Field identifier
expected (ожидается идентификатор поля)

      Этот идентификатор  не обозначает поле в предыдущей переменной типа запись.

      45. Object file
too large (объектный файл слишком большой)

      Turbo Pascal не
может подредактировать  .OBJ  файлы,  размером больше
64К.

      46. Undefined
external (неопределенный внешний элемент)

      Внешняя процедура
или функция не имеют соответствующего PUBLIC определения в объектном
файле.  Убедитесь,  что все объектные файлы заданы  
в   директивах   {$L  имя  файла} 
и  проверьте  написание идентификатора процедуры или функции
в .ASM файле.

     47. Invalid object file
record (неправильная запись объектного файла)

      .OBJ файл 
содержит неправильную объектную запись;  убедитесь, что файл фактически
является .OBJ файлом.

      48. Code Segment
too large (сегмент кода слишком большой)

      Максимальный размер
кода  программы  или  модуля  равен  65520
байт. Если  компилируется  программа,  то нужно перенести
несколько процедур или функций в модуль.  Если компилируется модуль, 
то  его нужно разбить на два или больше модулей.

      49. Data segment
too large (сегмент данных слишком большой)

      Максимальный размер 
сегмента  данных  программы  равен  65520 байт,
включая  данные,  объявленные  используемыми  модулями. 
Если необходимо больше  глобальных  данных,  то нужно
объявить структуры большого размера  как  указатели 
и  разместить  их  динамически  с использованием
процедуры New.

     50. Do expеcted (ожидается
ключевое слово)

      51. Invalid  
PUBLIC   definition   (неправильное  определение
PUBLIC)

      — Идентификатор
был сделан общедоступным с  помощью  директивы PUBLIC в  
языке   ассемблер,   но  он  не 
соответствует  external объявлению в программе или в модуле на
Паскале.

     — Две  или более
директивы PUBLIC в ассемблере определяют один и тот же идентификатор.

     — .OBJ файл определяет
PUBLIC символы , которые не находятся в сегменте CODE.

      52. Invalid EXTRN
definition (неправильное определение  EXTRN)

      — На идентификатор
была ссылка с  помощью  директивы  EXTRN  в ассемблере, 
но  он  не  был  объявлен ни в программе или модуле
на Паскале, ни в интерфейсной части используемых модулей.

     — Этот   
идентификатор   обозначает   absolute   (абсолютную) переменную.

     — Этот  идентификатор
обозначает inline процедуру или функцию.

      53. Too many EXTRN
definion (слишком много объявлений EXTRN)  

     Turbo Pascal  не
может обрабатывать .OBJ файлы с более чем 256 объявлениями EXTRN.

     54. OF expected (ожидается
ключевое слово OF)

     55. INTERFACE expected
(ожидается ключевое слово interface)

     56. Invalid relocatable
reference  (неправильная  переместимая ссылка)

      — .OBJ файл содержит
данные и переместимые ссылки в сегментах, отличных   
от    CODE.    Например,   
Вы    пытаетесь    объявить инициализированные
переменные в сегменте DATA.

     — .OBJ  файл 
содержит  ссылки размером в байт на переместимые символы . Эта
ошибка происходит, если используются операторы HIGH и LOW с перемеcтимыми
символами или, если есть ссылка на переместимые символы в директивах
DB.

     — Операнд  ссылается 
на  переместимый символ,  который не был определен ни в сегменте
CODE, ни в сегменте DATA.

     — Операнд  
ссылается   на  процедуру  или  функцию 
EXTRN  со смещением, например, CALL SortProc +8.

     57. THEN expected (ожидается
ключевое слово then)

     58. TO  or 
DOWNTO  expected  (ожидается ключевое слово to или downto)

      59. Undefined
forward (не определен элемент, указанный ранее)

      — Эта  процедура 
или  функция  была  объявлена в интерфейсной части модуля, 
но ее  определение  не  встречается  нигде 
в  части реализации.

     — Эта процедура или функция
была объявлена с  ключевым  словом forward, но ее определение
нигде не обнаружено.

      60. Too many procedure
(слишком много процедур)

      Turbo Pascal 
не  допускает  более  512 процедур или функций в модуле.
Если  компилируется   программа,   то  
нужно   переместить несколько процедур или функций в модуль.
Если компилируется модуль, то его нужно разбить на два или более модулей.

      61. Invalid typecast
(неправильное приведение типов)

      — Размеры ссылки
на переменную и тип назначения отличаются при приведении типа переменной.

     — Попытка приведения
типов в выражении,  где допустима  только ссылка на переменную.

      62. Division by
zero (деление на ноль)

      Попытка деления
на ноль.

      63. Invalid file
type (неправильный тип файла)

      Этот тип  файла не поддерживается процедурой обработки файлов, например, readln
c типированным файлом или Seek c текстовым файлом.

     64. Cannot Read or Write
variables of type (нельзя  читать или писать переменные этого типа)

      — Read  
или   Readln   могут   вводить  значения 
типа  Char, Integer, Real, и String.

     — Write или   
Writeln    могут    выводить   
значения    типа Char, Integer, Real, String и Boolean.

      65. Pointer 
variable  expected  (ожидается  переменная   типа указатель)

      Предыдущая переменная
должна иметь тип указатель.

      66. String variable
expected (ожидается строковая переменая)

      Предыдущая переменная
должна быть строкового типа.

      67. String  expession expected (ожидается выражение строкового типа)

      Предыдущее выражение
должно быть строкового типа.

      68. Circular unit
reference (циклическая ссылка на модуль)

      Не допускается,
чтобы два модуля использовали друг друга:

       unit U1;     unit U2;

      uses U2;     uses U1;

       …           …

      В этом примере
при выполнении MAKE  для  любого  модуля  будет
генерироваться ошибка 68.

     69. Unit name mismatch
(несоответствие имени модуля)

     Имя модуля,  найденного
в .TPU файле , не соответствует имени, заданному в предложении USES.

     70. Unit version mismatch
(несоответствие версии модуля)

     Один или  более 
модулей,  используемых  данным  модулем  были изменены  
после   компиляции   этого  модуля.  Для 
автоматической компиляции модулей,    которым   
нужна    перекомпиляция,    нужно использовать 
Compile/Make  или  Compile  /Build  в интегрированной
среде или опции / М или /В в компиляторе командной строки.

      71. Duplicate
unit name (дублированное имя модуля)

      В предложении
USES уже указано это имя модуля.

      72. Unit file
format error (ошибка в формате файла модуля )

      .TPU файл 
почему-то  неправильный;  убедитесь,что  этот  файл
фактически является .TPU файлом.

     73. Implementation   
expected   (ожидается   ключевое   слово
implementation)

      74. Constant and
case types do  not  match  (константа  и  тип
переключателя в операторе case не соответствуют друг другу)

      Тип константы  
оператора   case   несовместим   с  выражением переключателя в предложении case.

     75. Record  
variable   expected  (ожидается  переменная  типа record)

      Предыдущая переменная
должна иметь тип record.

      76. Constant 
out  of  range  (константа выходит за допустимый диапазон)

      — Попытка индексировать
массив с помощью  константы, выходящей за допустимый диапазон.

     — Попытка  присвоить 
переменной   константу,   выходящую   за допустимый диапазон.

     — Попытка  передать  
константу,   выходящую   за   допустимый
диапазон, в качестве параметра процедуры или функции.

      77. File variable
expected (ожидается переменная типа file)

      Предыдущая переменная
должна иметь тип file.

      78. Pointer 
expression  expected  (ожидается  выражение  типа
pointer).

      79. Integer or
real expression expected  (ожидается  выражение типа integer
или real).

      80. Label 
not  within  current  block  (метка  находится  вне текущего блока).

      Оператор goto
не может ссылаться  на  метку,  находящуюся  вне
текущего блока.

      81. Label already
defined (метка уже определена)

      Эта метка уже
помечает некоторый оператор.

      82. Undefined   
label    in    preceding   
statement    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
(слишком много переменных)

     — Общий  размер 
глобальных  переменных,  объявленных   внутри программы
или модуля, не может превышать 64К.

     — Общий  размер 
локальных  переменных,   объявленных   внутри
процедуры или функции, не может превышать 64К.

     97. Invalid  FOR 
control  variable  (неправильная управляющая переменная в
операторе for)

      Управляющая переменная
в операторе  for  должна  быть  простой переменной,
определенной в описании текущей подпрограммы.

     98. Integer  variable 
expected  (ожидается  переменная целого типа)

      Предыдущая переменная
должна быть целого типа.

      99. File and procedure
types are not allowed here  (файловый и процедурный тип недопустимы
здесь)

      Типированная константа  
не  может  быть  типа  файлового  или процедурного
типа.

     100. String length mismatch
(длина строки не соответствует)

     Длина строковой  
константы   не   соответствует    количеству компонент в символьном массиве.

      101. Invalid 
ordering  of fields (неправильное упорядочивание полей)

      Поля констант
типа  record  должны  быть  записаны  в  порядке объявления.

     102. String  
constant   expected  (ожидается  константа  типа string)

      103. Integer or
real variable expected  (ожидается  переменная типа Integer
или Real)

      Предыдущая переменная
должна быть типа Integer или Real.

     104. Ordinal   
variable    expected   (ожидается   переменная порядкового типа )

      Предыдущая переменная
должна быть порядкового типа .

      105. INLINE error
(ошибка в INLINE)

      Оператор < не допустим в сочетании с перемещаемыми ссылками на переменные, такие
ссылки всегда имеют размер, равный слову.

     106. Character  
expession   expected   (ожидается   выражение
символьного типа)

      Предыдущее выражение
должно быть типа Сhar.

      107. Too many
relocation  items  (слишком  много  перемещаемых
элементов)

      Размер перемещаемой 
части таблицы в .EXE файле превышает 64К, что является верхним пределом 
в  Turbo  Pascal.  Если  эта  ошибка возникает,
то  это  означает,  что данная программа слишком большая
для обработки редактором связей Turbo Pascal.  Вероятно, 
она будет слишком  большой  для  выполнения  в 
DOS  .  В  этом  случае нужно разделить программу
на «главную» часть,  которая выполняет две  или
более «подпрограмм», используя процедуру EXEC в модуле Dos.  

     112. Case  constant 
out  of  range  (константа оператора case выходит за
допустимый диапазон)

      Для операторов
case целого типа константы должны  быть  внутри диапазона
-32768…32767.

     113. Error in statement
(ошибка в операторе)

     С этого символа не может
начинаться оператор.

     114. Cannot  call 
an  interrupt  procedure  (нельзя  вызывать процедуру
прерывания)

      116. Must be in
8087 mode to compile this (для компиляции этой конструкции должен быть
режим 8087)

      Эта конструкция  
может  компилироваться  только  в  состоянии {$N+}.
Операция над 8087 типами Single,  Double,  Extended 
и  Comp недопустимы в состоянии {$N-}.

      117. Target address
not found (искомый адрес не найден)  

     Команда Compile/Search 
Find Error в интегрированной среде или опция /F в версии командной строки
не  может  определить  оператор, который соответствует
данному адресу.

      118. Include files
are not  allowed  here  (здесь  недопустимы включаемые
файлы)

      Каждая операторная
часть должна полностью содержаться в данном файле.

     120. NIL expected (ожидается
NIL)

     121. Invalid Qualifier
(неправильный квалификатор)

     — Попытка  индексировать 
переменную,  которая  отсутствует  в массиве.

     — Попытка  задать 
поля  в  переменной,  которая  не  является
записью.

     — Попытка  
получить   значение,    на   
которое    указывает переменная, не являющаяся указателем.

      122. Invalid  
variable   reference  (неправильная  ссылка  на переменную)

      Предыдущая конструкция  
следует    синтаксису    ссылки   
на переменную, но не обозначает размещение памяти.  Наиболее вероятно,
Вы вызвали функцию  указателя,  но  забыли  получить 
значение,  на которое указывает результат.

      123. Too many
symbols (слишком много символов)

      Программа или  
модуль  объявляет  более  64К  символов.  Если
программа или модуль компилируется с опцией {$D+}, то попробуйте ее
выключить —   заметим,   однако,   что  
это  будет  препятствовать нахождению  ошибок  выполнения  
в   этом   модуле.   В   противном
случае, можно   попробовать   переместить 
несколько  объявлений  в отдельный модуль.

      124. Statement 
part  too  large  (операторная  часть  слишком
большая)

      Turbo Pascal 
ограничивает размер операторной части около 24К. Если встречается эта
ошибка,  то  переместите  разделы  операторной части
в  одну  или более процедур.  В любом случае,  если
программа имеет операторную часть такого размера,  то имеет 
смысл  прояснить структуру этой программы.

      126. Files  
must   be   var  parameters  (файлы 
должны  быть переменными параметрами)

      Попытка объявить
значение параметра файлового  типа. Параметры файлового типа должны
быть переменными параметрами.

     127. Too many  conditional 
symbols  (слишком  много  условных символов)

      Для определения
дополнительных условных  символов недостаточно места.  Попытайтесь 
исключить  несколько  символов  или  укоротить несколько
символических имен.

     128. Misplaced    
conditional     directive      (неправильно расположенная условная директива)

      Компилятор встретил  
директиву   {$ELSE}   или  {$ENDIF}  без
соответствующей директивы {$IFDEF}, {$IFNDEF} или {$IFOPT}.

     129. ENDIF directive
missing (отсутствует директива ENDIF)  

     Исходный файл  заканчивается  
внутри   конструкции   условной компиляции. 
В  исходном  файле  должно  быть одинаковое количество
директив {$IFxxx} и {$ENDIF}.

     130. Error in initial
conditional defines (ошибка  в начальных условных определениях)

      Начальные условные 
символы,  заданные  в  Options/  Compiler/ Conditional
defines или в директиве /D,  неправильные. Turbo Pascal ожидает,
что  0  или  более иденитификаторов разделяются пробелами,
запятыми или точками с запятой.

      131. Header does
not match previous definition  (заголовок  не соответствует
предыдущему определению)

      — Заголовок 
процедуры  или  функции,  заданный в интерфейсной части
или в объявлении forward, не соответствует данному заголовку.

      132. Critical
dick error (критическая ошибка диска)

      Критическая ошибка   
произошла    во     время     компиляции (например, ошибка неготовности носителя)

      133. Cannot 
evaluate  this  expression  (нельзя вычислить это выражение)

      Попытка использовать
неподдерживаемое Turbo Pascal  свойство в константном выражении 
или  в  отладочном выражении.  Например,  Вы пытаетесь
использовать функцию Sin в объявлении константы,  или  Вы
пытаетесь вызвать функцию, определенную пользователем, в отладочном
выражении.  Описание допустимого  синтаксиса  конкретных 
выражений приведено  в  главе  1 «Лексемы и константы». 
Описание допустимого синтаксиса отладочных выражений приведено 
в  главе  5  Руководства пользователя «Отладка программ
на Turbo Pascal».

     134. Expession 
incorrectly  terminated (выражение завершается неправильно)

      Turbo Pascal ожидает
или оператор,  или конец выражения в этой точке, но ничего не находит.

      135. Invalid  
format   specifier  (неправильный  спецификатор
формата )

      Используется неправильный
спецификатор  формата  или  числовой аргумент  спецификатора
 формата  выходит  за  допустимый диапазон. Список 
правильных  спецификаторов  формата  приведен  в 
главе   5 Руководства пользователя «Отладка программ
на Turbo Pascal».

     136. Invalid  
indirect   reference   (неправильная  косвенная
ссылка)

      Оператор пытается 
сделать  неправильную   косвенную   ссылку.
Например,  используется  absolute  переменная, 
у  которой  базовая переменная неизвестна в  текущем 
модуле  или  используется  inline программа, которая 
ссылается на переменную,  неизвестную в текущем модуле.

     137. Structured variables
are not  allowed  here  (структурные переменные недопустимы
здесь)

      Попытка выполнить  не поддерживаемую Turbo Pascal операцию над структурной переменной.
Например, попытка умножить две записи.

     138. Cannot evaluate
without System unit (Нельзя вычислить без модуля System)

      Библиотека TURBO.TPL  
должна   содержать  модуль  System  для того,
чтобы отладчик мог вычислить выражение.

      139. Cannot access
this  symbol  (невозможен  доступ  к  этому
символу)

      Все множество  
символов  в  программе  доступно  сразу  после
компиляции программы.  Однако,  к  некоторым  символам, 
таким  как переменные,  невозможен  доступ  до 
тех  пор,  пока  программа  не начинает фактически
выполняться.

      140.Invalid floating-point
operation (Неправильная  операция с плавающей точкой)

      Операция над 
двумя  значениями  вещественного  типа привела к переполнению
или является делением на ноль.

     141. Cannot  compile 
overlay  to memory (нельзя компилировать оверлей в память)

      Программа, которая
использует оверлеи,  должна компилироваться на диск.

      142. Procedure 
or  function  variable   expected   (ожидается
переменная типа procedure или function)

      В этом  контексте 
оператор  адреса  (@)  может использоваться только с
переменной процедуры или функции.

      143. Invalid procedure 
or  function  reference  (неправильная ссылка на процедуру
или функцию)

      — Если  процедура
или функция должны быть присвоены переменной типа procedure,  то
их нужно компилировать в состоянии {$F+}  и  их нельзя объявлять
с ключевыми словами inline или interrupt.

     — Вы пытаетесь вызвать
процедуру в выражении.

      144. Cannot overlay
this  unit  (нельзя  сделать  этот  модуль
оверлейным)

      Попытка сделать   
оверлейным    модуль,    который  
не   был откомпилирован в состоянии {$O+}.

     147 Object type expected
(Ожидается объектный тип.)

          Идентификатор не является объектным типом.

      148 Local object
types are not allowed.  (Локальный  объектный тип недопустим.)

      Объектный тип 
может  быть  определен  только  в самой внешней
сфере действия программы или модуля.  Определение  объектного  типа внутри процедур или функций недопустимо.

      149 VIRTUAL expected.
(VIRTUAL ожидается.)

      Пропущено ключевое
слово VIRTUAL.

      150 Method   
identifier   expected.   (Идентификатор   метода ожидается.)

      Идентификатор
не является методом.

      151 Virtual 
constructors  are   not   allowed.   (Виртуальные констракторы неразрешены.)

      Констрактор-метод
должен быть статическим.

      152 Constructor    
identifier     expected.    (Идентификатор
констрактора ожидается.)

      Идентификатор
не является констрактором.

      153 Destructor
identifier expected. (Идентификатор дестрактора ожидается.)

      Идентификатор
не является дестрактором.

      154 Fail 
only  allowed  withing constructors.  (Fail допустим
только внутри констракторов.)

      Стандартная процедура 
Fail  может  быть  использована  только    внутри констракторов.

      155. Invalid 
combination  of  opcode  and  operands (Неверная
комбинация кода операции и операндов)

      Код операции 
не   допускает   такой   комбинации   операндов. Возможные причины:

     — Слишком  много 
или  слишком  мало  операндов для этого кода операции;
например

     INC AX, BX или MOV AX

     — Правильное  число 
операндов,  но  их  тип  или  порядок  не соответствуют коду операции; например

     DEC 1,  MOV AX,CL  или MOV 1,AX

     156. Memory reference
expected (Ожидается ссылка на память)

     Этот операнд  не 
ссылка  на память,  которая ожидается здесь. Вероятно, Вы
забыли  поставить  []  вокруг  регистрового  операнда. Например

      MOV AX, BX+SI
вместо MOV AX, [BX+SI]

      157. Cannot  
add  or  subtract  relocatable  symbols  (Нельзя
складывать или вычитать переместимые символы)

      Над переместимыми
символами можно выполнять только  сложение и вычитание констант. 
Переменные,  процедуры,  функции и метки — это переместимые
символы.  Считая,  что Var — это переменная, а Const — это
константа, инструкции MOV AX, Const+Const и MOV AX, Var+Const — верны,
а MOV AX, Var+Var — нет.

      158. Invalid  
register   combination   (Неверная   комбинация
регистров)

      Правильные индексные
регистровые комбинации: [BX], [BP], [SI], [DI], [BX+SI],  [BX+DI],  
[BP+SI],   [BP+DI].   Другие   индексные
регистровые комбинации  (такие,  как [AX],  [BP+BX],  [SI+DX]) — не разрешены.

      Примечание: Локальные
переменные  (переменные,  объявленные  в процедурах и
функциях) всегда распределяются в стеке и доступ к ним производится
через регистр BP.  Ассемблер  автоматически  добавляет
[BP] в ссылках на такие переменные.  Так, что даже хотя конструкция
такая, как Local[BX] (где Local — локальная  переменная) появляется
правильной, это  не  так,  поскольку  результирующий
операнд будет: Local[BP+BX].

      159. 286/287 Instructions
are not enabled  (Инструкции 286/287 не разрешены.)

      Используйте директиву
компилятора {$G+},  чтобы разрешить коды операций 286/287, 
но помните,  что  результирующий  код  не  может выполняться на компьютерах с 8086 или 8088.

     160. Invalid symbol reference
(Неверная ссылка на символ)

      К этому 
символу  нельзя  обращаться  в ассемблерном операнде.
Возможные причины:

     — Вы   пытаетесь  
обратиться   в   ассемблерном   операнде  к стандартной процедуре, стандартной функции или специальным массивам
Mem, MemW, MemL, Pоrt, PortW.

     — Вы пытаетесь обратиться
в ассемблерном операнде  к константе типа строка, плававающая точка
или множество.

     — Вы пытаетесь обратиться
к специальному символу  @Result  вне функции.

     — Вы пытаетесь обратиться
в  ассемблерном  операнде  к  inline процедуре или
функции.

     — Вы пытаетесь сгенерировать
короткую JMP  инструкцию, которая переходит на что-либо отличное
от метки.

     161. Code generation
error (Ошибка генерации кода)

     Предыдущая операторная  
часть  содержит  инструкцию:  LOOPNE, LOOPE, LOOP или
JCXZ, которая не может достичь метки назначения.

     162. ASM expected (Ожидается
ASM)

[начало] [оглавление]
 

Ошибки времени выполнения.

      Некоторые ошибки
во  время  выполнения  программы  приводят 
к тому, что  программа  выводит  на  дисплей 
сообщение  об  ошибке и завершается:

     Run-time error 
nnn  at  xxxх:yyyy  (ошибка  выполнения nnn по адресу
xxxх:yyyy,    где    nnn-номер   
ошибки    выполнения,    а xxxx:yyyy —
адрес ошибки выполнения (сегмент и смещение))

     Ошибки выполнения разделены
на четыре категории:

          ошибки операционной системы DOS:1-99

          ошибки ввода/вывода:100-149

          критические ошибки :150-199

        
 фатальные ошибки:200-255.

[начало] [оглавление]
 

Ошибки операционной системы DOS.

      1. Invalid function
number (Неверный номер функции)

      Вы вызываете несуществующую
функцию DOS.

      2. File not found
(файл не найден)

      Сообщается процедурами
Reset,  Append,  Rename или Erase, если имя назначенное файловой
переменной не задает существующий файл.

      3. Path not fond
(путь не найден)

     — Сообщается  процедурами
Reset,  Rewrite,  Append,  Rename или Erase,  если
имя, назначенное файловой переменной,  неправильное или задает
несуществующий подсправочник.

      — Сообщается 
процедурами  Chdir,  Mkdir или Rmdir,  если путь доступа
неправильный или задает несуществующий подсправочник.

      4. Too many open
files (слишком много открытых файлов)

      Сообщается процедурами 
Reset,  Rewrite   или   Append,  
если программа  имеет  слишком  много  открытых 
файлов.  DOS никогда не разрешает более 15 открытых файлов на процесс.
Если встречается эта ошибка, когда открытых файлов меньше 15, 
то это может указывать на то,  что файл CONFIG.SYS не содержит
запись FILES =XX или,  что эта запись задает  слишком 
мало  файлов.  Увеличьте  это количество до некоторого
подходящего значения, например, до 20.  

     5. File access denied
(запрещен доступ к файлу)

      — Сообщается 
процедурами  Reset  или  Append,  если  FileMode
разрешает запись,  а имя,  назначенное файловой переменной,  задает справочник или файл, предназначенный только для считывания.

     — Сообщается процедурой
Rewrite,  если справочник заполнен или если имя,  присвоенное
файловой переменной,  задает справочник  или существующий
файл, предназначенный только для считывания.

     — Сообщается процедурой
Rename, если имя, присвоенное файловой переменной,   задает  
справочник   или   если   новое 
имя  задает существующий файл.

     — Сообщается процедурой
Erase,  если имя, присвоенное файловой переменной,  задает
справочник или файл, предназначенный только для считывания.

     — Сообщается  процедурой 
MkDir,  если  файл  с  таким  именем существует 
в  «родительском  «справочнике,  или 
если путь доступа задает устройство, или если нет места в «родительском» справочнике.

     — Сообщается процедурой
RmDir,  если справочник непустой; если путь доступа не задает справочник, 
или если  путь  доступа  задает корневой справочник.

     — Сообщается процедурой
Read или BlockRead  для  типированного или нетипированного
файла, если этот файл не открыт для чтения.

     — Сообщается процедурой
Write или BlockWrite для типированного или нетипированного файла, если
этот файл не открыт для записи.

      6. Invalid file
handle (неправильный обработчик файла)  

     Эта ошибка  сообщается, 
если  неправильный  обработчик  файла передается  
вызову   системы   DOS.   Это  
никогда   не    должно происходить; если 
это  случается,  то  это  указывает,что файловая
переменная каким-то образом запорчена.

      12. Invalid file 
access  code  (неправильный  код  доступа  к файлу)

      Сообщается процедурами  Reset или Append для типированного или нетипированного файла,если значение
FileMode неправильное.

     15. Invalid drive number
(неправильный номер устройства)

     Сообщается процедурой 
GetDir  или   ChangeDir,   если   номер устройства неправильный.

      16. Cannot 
remove  current  directory (нельзя удалять текущий справочник)

      17. Cannot rename
across drives (нельзя переименовывать файлы, находящиеся на различных
устройствах)

     Сообщается процедурой 
Rename,  если  оба  имени  находятся на различных
устройствах.

[начало] [оглавление]
 

Ошибки ввода/вывода.

      Эти ошибки 
вызывают завершение программы,  если этот оператор был откомпилирован
в состоянии {$I+}.  В состоянии {$I-}  программа продолжает
выполняться, а ошибка сообщается функцией IOResult.

     100. Disk read error
(ошибка чтения с диска)

     Сообщается процедурой  
Read  для  типированного  файла,  если делается
попытка чтения после конца файла.

      101. Disk write
error (ошибка записи на диск)

      Сообщается процедурами
Close,  Write, Writeln, Flush или Page, если диск становится полным.

      102. File not
assigned (файл не назначен)

      Сообщается процедурами 
Reset,  Rewrite,  Append,  Rename  или Erase, 
если файловой переменной не было присвоено  имя  с  помощью
вызова Assign.

      103. File not
open (файл не открыт)

      Сообщается процедурами 
Close,  Read,  Write,  Eof,  FileSize, Flush, BlockRead
или BlockWrite, если файл не открыт.

      104. File not
open for input (файл не открыт для ввода)

      Сообщается процедурами 
Read,  Readln,  Eof,  Eoln,   SeekEof, SeekEoln
для текстовых файлов, если файл не открыт для ввода.

      105. File not
open for output (файл не открыт для вывода)

      Сообщается процедурами 
Write  и Writeln для текстовых файлов, если файл не открыт для
вывода.

      106. Invalid numeric
format (неправильный числовой формат)

      Сообщается процедурами
Read и Readln, если  числовое значение, прочитанное  
из  текстового  файла  не  соответствует  правильному
числовому формату.

[начало] [оглавление]

Критические ошибки.

      150. Disk is write-protected
(защита диска от записи)

      151. Unknown unit
(неизвестное устройство)

      152. Drive not
ready (устройство не готово)

      153. Unknown command
(неизвестная команда)

      154. CRC 
error  in  data  (ошибка  циклического  контроля  по избыточности в данных)

      155. Bad drive
reguest structure length  (неправильный  запрос устройства
о длине структуры)

      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 (отказ аппаратного обеспечения)

      Более подробная 
информация  о критических ошибках приведена в Руководстве программиста
для DOS.

[начало] [оглавление]
 

Фатальные ошибки.

      Эти ошибки всегда
сразу же завершают программу.

      200. Division
by zero (деление на ноль)

      201. Ошибка  
выхода   за   допустимый  диапазон.  Эта  ошибка сообщается операторами, откомпилированными в состоянии {$R+},
когда возникает одна из следующих ситуаций:

     — Индексное  
выражение   квалификатора   массива  выходит  за допустимый диапазон.

     — Была   сделана  
попытка   присвоить   переменной  значение,
выходящее за допустимый диапазон.

     — Была  сделана 
попытка  передать  процедуре  или  функции  в качестве параметра значение, выходящее за допустимый диапазон.

      202. Stack overflow
error (ошибка переполнения стека)

      Эта ошибка сообщается 
при  входе  в  процедуру  или  функцию, откомпилированную
в  состоянии {$S+},  когда в стеке нет достаточно места для
размещения локальных  переменных  подпрограмм.  Увеличьте
размер стека с помощью директивы компилятора $M.

      Эта ошибка может
возникать так же из-за бесконечной рекурсии.

      203. Heap overflow
error (ошибка переполнения кучи)

      Эта ошибка 
сообщается  процедурами  New или GetMem ,  когда в куче
нет достаточно места для размещения блока  требуемого размера.
Более  подробное  описание  монитора  кучи 
приведено  в  главе  16 «Память».

      204. Invalid 
pointer  operation  (неправильная   операция   с указателем)

      Эта ошибка 
сообщается  процедурами Dispose или FreeMem,  если указатель
равен nil или указывает на позицию за пределами кучи или, если свободный
список не может быть расширен из-за того, что список свободных блоков
полон,  или HeapPtr находится  слишком  близко  от нижней границы списка свободных блоков.

      205. Floating
point overflow (переполнение с плавающей точкой)

      Операция с 
плавающей  точкой обрабатывает слишком большое для Turbo Pascal
или сопроцессора число.

      206. Floating
point underflow (потеря значности при операции с плавающей точкой)

      Операция с 
плавающей точкой приводит к потере значности.  Эта ошибка сообщается,
если только  используется  числовой  сопроцессор 8087
с  контрольным словом,  которое не маскирует потерю значности
По умолчанию,  потеря  значности  вызывает  
возвращение   нулевого результата.

      207. Invalid floating
point operation (неправильная операция с плавающей точкой)

      — Вещественное
значение,  передаваемое  Trunc  или  Round, 
не может  быть преобразовано в целое внутри диапазона для типа
LongInt (-2147483648 до 214783647)

     — Аргумент,  передаваемый
функции Sgrt, является отрицательным числом.

     — Аргумент,  
передаваемый   функции   Ln,   равен  
нулю  или отрицательный.

     — Произошло  
переполнение   стека  сопроцессора  8087. 
Более подробное описание корректного программирования  при 
использовании сопроцессора 8087 приведено в главе 14 «Использование
8087»

      208. Overley  
manager  not  installed  (монитор  оверлеев  не инсталирован)

      Программа вызывает 
оверлейную  процедуру  или   функцию,   но
монитор оверлеев не инсталирован.

     Наиболее вероятно, что
Вы не вызвали OvrInit или вызов OvrInit был  неудачным.  Заметим, 
что  если  код инициализации находится в любом  из 
оверлейных  модулей, то  нужно  создать   дополнителный
неоверлейный  модуль,  который вызывает OvrInit и использовать
этот модуль перед любым из оверлейных модулей.  Полное описание
монитора оверлеев приведено в главе 13 «Модуль Overlay» .

      209. Overlay file
read error (ошибка чтения оверлейного файла)

      Произошла ошибка  
чтения,   когда  монитор  оверлеев  пытался
прочитать оверлей из оверлейного файла.

      210. Object not
initialized. (Объект не инициализирован)

      Когда включена
проверка диапазона,  Вы  вызываете  виртуальный метод
объекта до инициализации объекта через вызов констрактора.

      211. Call to abstract
method. (Вызов абстрактного метода)

      Эта ошибка 
генерируется процедурой Abstract в модуле Objects; она указывает, 
что Ваша программа пытается  выполнить  абстрактный витруальный
метод.  Когда  объектный  тип  содержить один или
более абстрактных методов,  он называется  абстрактным 
объектным  типом. Будет ошибкой  создавать  экземпляры 
объектов  абстрактного типа — абстрактные типы  существуют 
только  для  того,  чтобы  Вы   могли
наследовать от них и перекрывать абстрактные методы.

      Например, метод  
Compare   типа  TSortedCollection  в  модуле
Objects абстрактный,  указывает   на   то,  
что   для   реализации отсортированного набора 
Вы  должны создать объектный тип,  который наследуется от
TSortedCollection и перекрывает метод Compare.

      212. Stream registration
error. (Ошибка регистрации потока)

      Эта ошибка 
генерируется  процедурой  RegisterType  в   модуле Objects, указывая, что возникла одна из ошибок:

      — Запись регистрации
потока не размещается в сегменте данных.

      — Поле ObjType
записи регистрации потока = 0.

      — Тип уже зарегистрирован.

      — Существует другой
тип с тем же значением ObjType.

      213. Collection
index out of range.  (Индекс набора выходит за пределы)

      Индекс, переданный
в метод из TCollection, выходит за пределы.

      214. Collection
overflow error. (Ошибка переполнения набора)

      Эта ошибка выдается
TCollection при попытке  добавить элемент, когда набор не может
быть расширен.

[начало]
[оглавление]    


Предыдущая
страница     |     Следующая
страница


СООБЩЕНИЯ КОМПИЛЯТОРА ОБ ОШИБКАХ

1
Out of memory
Выход за границы памяти
Компилятор выполняется вне допустимых границ памяти. Имеется ряд возможных решений проблемы:

§ Если в меню Options?Linker?Link Buffer, установлен параметр Memory, переключите его в значение Disk.

§ Возможно программа слишком велика, чтобы компилироваться в таком объеме памяти. Следует разбить ее на два или более модуля.

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
Неожиданный конец файла
Причины:

§ несоответствующее количество begin и end (не забудьте, что оператор case также заканчивается словом end);

§ включаемый файл заканчивается в середине раздела операторов. Каждый раздел операторов должен целиком помещаться в одном файле;

§ незаконченный комментарий.

11
Line too long
Строка слишком длинная
Максимальная длина строки может равняться 126 символам. Возможно, отсутствует апостроф в конце строковой константы.

12
Type identifier expected
Нужен идентификатор типа
Не указан типа идентификатора, как это должно быть.

13
Too many open files
Слишком много открытых файлов
Файл CONFIG.SYS не содержит параметра FILES=xx или этот параметр указывает слишком много файлов. Следует увеличить число файлов.

14
Invalid file name
Неверное имя файла
Имя файла неверно или указывает несуществующий путь.

15
File not found
Файл не найден
Файл не может быть найден ни в текущем каталоге, ни в каком-либо другом исследуемом каталоге, предназначенном для этого типа файлов.

16
Disk full
Диск заполнен
Удалите некоторые файлы или воспользуйтесь новым диском (если речь идет о сменном носителе).

17
Invalid compiler directive
Неправильная директива компилятора
Возможно, неверная буква в директиве компилятора, один из параметров директивы компилятора неверный или используется глобальная директива компилятора, когда компиляция тела программы уже началась.

18
Too many files
Слишком много файлов
В компиляции программы или программного модуля участвует слишком много  файлов. Следует объединить включаемые файлы или сделать короче имена файлов.

19
Undefined type in pointer definition
Неопределенный тип в определении ссылки
Была осуществлена ссылка на тип в приведенном ранее описании указателя, но этот тип не был описан.

20
Variable identifier expected
Нужен идентификатор переменной
Идентификатор не описывает переменную, как это должно быть.

21
Error in type
Ошибка в определении типа
Определение типа не может начинаться с этого символа.

22
Structure too large
Слишком большая структура
Максимально допустимый размер структурного типа 65 535 байт.

23
Set base type of range
Базовый тип множества выходит за допустимые границы
Базовый тип множества должен представлять собой отрезок типа с границами в пределах от 0 до 255 или перечислимого типа, допускающим не более чем 256 значений.

24
File components may not be files or objects
Элементы файла не могут быть файлами или объектами
Тип компоненты файлового типа не может быть объектным или файловым типом и не может быть структурным типом с компонентами файлового или объектного типа: конструкции file of file или file of object не допускаются.

25
Invalid string length
Неверная длина строки
Длина строки должна находиться в диапазоне от 1 до 255.

26
Type mismatch
Несоответствие типов
Причины:

§ несовместимые типы переменной и выражения в операторе присваивания;

§ несовместимые типы фактического и формального параметров в обращении к процедуре или функции;

§ тип выражения, несовместимый с типом индекса при индексировании массива;

§ несовместимые типы операндов в выражении.

27
Invalid subrange base type
Неправильный базовый тип интервального типа
Допустимыми являются все порядковые типы.

28
Lower bound greater 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
Следует проверить соответствие ключевых слов BEGIN и END.

38
Integer expression expected
Нужно выражение типа INTEGER
Предыдущее выражение должно иметь целочисленный тип INTEGER

39
Ordinal expression expected
Нужно выражение порядкового типа
Предшествующее выражение должно иметь порядковый тип.

40
Boolean expression expected
Нужно выражение типа BOOLEAN
Предшествующее выражение должно иметь тип BOOLEAN

41
Operand types do not math operator
Типы операндов не соответствуют оператору
Данный оператор не может быть применен к операндам этого типа, например, нельзя ‘A’ разделить на ‘2’.

42
Error in expression
Ошибка в выражении
Данный идентификатор не может участвовать в выражении указанным образом.

43
Illegal assignment
Неверное присваивание
§ Нетипизированным файлам и переменным нельзя присваивать значения.

§ Идентификатору функции можно присваивать значения только внутри раздела операторов данной функции.

44
Field identifier expected
Нужен идентификатор поля
Данный идентификатор не является полем предшествующей переменной типа «запись».

45
Object file too large
Объектный файл слишком большой
Нельзя компоновать файлы .obj, превышающие 64 Кбайт.

46
Undefined external
Не определена внешняя процедура
Внешняя процедура или функция не имеет соответствующего определения Public в объектном файле. Убедитесь, что вы указали все объектные файлы в директивах   {$L имя_файла}, и проверьте написание идентификаторов процедуры или функции в файле .asm.

47
Invalid object file record
Неправильная запись объектного файла
Файл .obj содержит неверную объектную запись. Убедитесь, что данный файл является действительно файлом .obj.

48
Code segment too large
Сегмент кода слишком большой
Максимальный размер кода программы или программного модуля равняется 65 520 байт. Если вы компилируете программный модуль, разбейте его на два или более программных модулей.

49
Data segment too large
Сегмент данных слишком велик
Максимальный размер сегмента данных равен 65 520 байт, включая данные, описываемые используемыми программными модулями. Если вам нужно большее количество глобальных данных, опишите большие структуры с помощью указателей и выделяйте для них память динамически с помощью процедуры New.

50
DO expected
Нужен оператор DO
 

51
Invalid PUBLIC definition
Неверное определение PUBLIC
§ Две или более директивы PUBLIC на языке ассемблера определяют один и тот же идентификатор.

§ Объектный файл .obj определяет идентификаторы PUBLIC, которые не находятся в сегменте CODE.

52
Invalid EXTRN definition
Неверное определение EXTRN
§ На идентификатор имеется ссылка в директиве EXTRN на языке ассемблера, но он не описан в программе или модуле на Паскале или в интерфейсной части какого-либо из используемых модулей.

§ Идентификатор обозначает абсолютную переменную.

§ Идентификатор обозначает процедуру или функцию типа inline.

53
Too many EXTRN definition
Слишком много определений EXTRN
Невозможно обработать файлы .obj, если имеется более чем 256 EXTRN.

54
OF expected
Требуется OF
 

55
INTERFACE expected
Требуется интерфейсный раздел
 

56
Invalid relocatable reference
Недопустимая перемещаемая ссылка
§ Файл .obj содержит данные и перемещаемые ссылки в сегментах, отличных от CODE. Например, вы пытаетесь описать инициализированные переменные в сегменте DATA.

§ Файл .com содержит ссылки с размерами в байтах на перемещаемые идентификаторы. Такая ошибка происходит в случае, если вы используете операторы HIGH и DOWN с перемещаемыми идентификаторами или если вы ссылаетесь в директивах DB на перемещаемые идентификаторы.

§ Операнд ссылается на перемещаемый идентификатор, который не был определен в сегменте CODE или в сегменте DATA.

§ Операнд ссылается на процедуру EXTRN или функцию EXTRN со смещением, например CALL SortProc+8.

57
Then expected
Требуется THEN
В нужном месте отсутствует слово then.

58
TO or DOWNTO expected
Требуется TO или DOWNTO
В нужном месте отсутствует ключевое слово TO или DOWNTO.

59
Undefined forward
Не определено опережающее описание
§ Процедура или функция были описаны в интерфейсном разделе программного модуля, но их определение отсутствует в разделе реализации.

§ Процедуры или функции были описаны с помощью описания forward, но их определение не найдено.

61
Invalid typecast
Неверное преобразование типа
§ Размеры ссылки на переменную и тип результата отличаются друг от друга при изменении типа переменной.

§ Вы пытаетесь осуществить приведение типа выражения, когда разрешается только ссылка на переменную, процедуру или функцию.

62
Division by zero
Деление на нуль
Предшествующая операция пытается выполнить деление на нуль.

63
Invalid file type
Неверный файловый тип
Данный файловый тип не обслуживается процедурой обработки файлов. Например, вы пытаетесь использовать процедуру Readln для типизированного файла или процедуру Seek для текстового.

64
Cannot Read or Write variables of this type
Нельзя считать или записать переменные данного типа
Процедуры Read и Readln могут считывать переменные символьного, целого, вещественного и строкового типа.

65
Pointer variable expected
Нужно использовать переменную-указатель
Предыдущая переменная должна иметь тип «указатель».

66
String variable expected
Нужна строковая переменная
Предшествующая переменная должна иметь строковый тип.

67
String expression expected
Нужно выражение строкового типа
Предшествующее выражение должно иметь строковый тип.

68
Circular unit reference
Циклическая ссылка на модуль
Два модуля не могут ссылаться друг на друга в разделе interface, но могут это делать в разделе implementation. Переупорядочите операторы uses таким образом, чтобы циклические ссылки имели место только в разделе implementation.

69
Unit name mismatch
Несоответствие имен программных модулей
Имя программного модуля, найденное в файле .tpu, не соответствует имени, указанному в операторе uses.

70
Unit version mismatch
Несоответствие версий программных модулей
Один или несколько программных модулей, используемых данной программой, были изменены после их компиляции. Воспользуйтесь командой Compile?Make или Compile?Build в интегрированной интерактивной среде программирования, что позволит автоматически скомпилировать программные модули, нуждающиеся в перекомпиляции.

71
Internal stack overflow
Переполнение внутреннего стека
Внутренний стек компилятора исчерпан из-за слишком большого уровня вложенности операторов. Переорганизуйте исходный код и уменьшите уровень вложенности. Например, переместите внутренние уровни вложенных операторов в отдельную процедуру.

72
Unit file format error
Ошибка формата файла программного модуля
Файле .tpu является недействительным. Возможно, он создан с помощью старой версии Turbo Pascal или Borland Pascal. В этом случае нужно перекомпилировать исходный код модуля и создать новый модуль.

73
Implementation expected
Требуется раздел реализации
Ключевое слово Implementation отсутствует там, где оно должно быть. Возможно, вы включили реализацию процедуры, функции или метода в интерфейсную часть модуля.

74
Constant and case types do not math
Типы констант и выражения оператора Case не соответствуют друг другу
Тип константы оператора Case несовместим с выражением селектора в операторе выбора

75
Record variable expected
Нужна переменная типа запись
Предшествующая переменная должна иметь тип «запись».

76
Constant out of range
Константа выходит за допустимые границы
§ Вы пытаетесь указать массив с константами, нарушающими границы.

§ Вы пытаетесь присвоить константу вне диапазона переменной.

§ Вы пытаетесь передать константу вне диапазона в качестве параметра процедуре или функции.

77
File variable expected
Нужна файловая переменная
Предшествующая переменная должна иметь файловый тип.

78
Pointer expression expected
Нужно выражение типа указатель
Предшествующая переменная должна иметь ссылочный тип.

79
Integer or real expression expected
Нужно выражение типа real  или integer
Предшествующее выражение должно иметь тип real  или integer.

80
Label not within current block
Метка не находится внутри текущего блока
Оператор goto не может ссылаться на метку, находящуюся вне текущего блока.

81
Label already defined
Метка уже определена
Данная метка уже помечает оператор.

82
Undefined label in processing statement part
Неопределенная метка в предшествующем разделе операторов
Данная метка была описана, и на нее осуществлялась ссылка в предшествующем разделе операторов, но она не определена.

83
Invalid @ argument
Недействительный аргумент оператора @
Действительными аргументами являются ссылки на переменные и идентификаторы процедур или функций.

84
Unit expected
Нужно ключевое слово Unit
Не указано ключевое слово Unit, как это требуется.

85
« expected
Нужно указать «;»
Не указана, где это требуется, точка с запятой.

86
«:» expected
Нужно указать «:»
Не указана, где это требуется, двоеточие.

87
«,» expected
Нужно указать «,»
Не указана, где это требуется, запятая.

88
«(» expected
Нужно указать «(»
Не указана, где это требуется, открывающаяся круглая скобка.

89
«)» expected
Нужно указать «)»
Не указана, где это требуется, закрывающаяся круглая скобка.

90
«=» expected
Нужно указать «=»
Нужно указать знак равенства.

91
«:=» expected
Нужно указать «:=»
Требуется использовать операцию присваивания.

92
« or «(.» expected
Нужно «[» or «(.»
Требуется указать квадратную скобку или «(. ».

93
« or «.expected
Нужно «]» or «.)»
Требуется указать квадратную скобку или «.) ».

94
« expected
Нужно «.»
Требуется указать точку. Убедитесь, что тип не используется как переменная или что именем программы не переопределяется важный идентификатор другого модуля.

95
«..» expected
Нужно «..»
Требуется указать точки. Там, где это нужно, не указан диапазон.

96
Too many variables
Слишком много переменных
Общий размер глобальных переменных, описанных в программе или программном модуле, не может превышать 64 Кбайт.

Размер локальных переменных, описанных в программе или функции, не может превышать 64 Кбайт.

97
Invalid for control variable
Недопустимая управляющая переменная оператора for
Управляющая переменная оператора for должна быть переменной перечисляемого типа, определенной в разделе описаний текущей подпрограммы.

98
Integer variable expected
Нужна переменная целого типа
Предшествующая переменная должна иметь тип integer.

99
Files are not allowed here
Здесь не допускаются файлы
Типизированная константа не может иметь файловый тип.

100
String length mismatch
Несоответствие длины
Длина строковой константы не соответствует количеству элементов символьного массива.

101
Invalid ordering of fields
Неверный порядок полей
Поля в константе типа «запись» должны указываться в порядке их описания.

102
String constant expected
Нужна константа строкового типа
 

103
Integer or real variable expected
Нужна переменная типа integer или real
Предшествующая переменная должна иметь целый или вещественный тип.

104
Character expression
 
Ожидается символьные выражения

105
Compilation aborted
 
Компиляция прервана

106
Error in statement
 
Ошибка в операторе

107
Error in type
 
Ошибка в типе

108
Expected
 
Ожидается имя

109
Invalid floating point operation
 
 Неправильная операция для вещественных операндов

110
 Ordinal variable expected
 
Ожидается переменная целого или символьного типа

111
 Too many symbols 
 
Слишком много символов

112
Undefined type
 
Неопределенный тип

113
Abnormal program termination
 
Ненормальное окончание программы

114
Ctrl-Break to quit
 
нажмите CTRL и Break для входа

115
Disk is write-protected
 
Диск защищен от записи

116
Disk read error
 
Ошибка записи на диск

117
Disk write error
 
Ошибка записи на диск

118
Drive not ready
 
дисковод не готов (нет дискеты)

119
Error on execute 
 
Ошибка исполнения

120
Floating point overflow
 
Вещественное переполнение

121
Hardware failure
 
Ошибка оборудования

122
Heap overflow error
 
Не хватает основной памяти

123
I/O checking
 
Ошибка ввода/вывода

124
Invalid Breakpoint
 
Неправильная точка останова

125
Invalid format specifier
 
Неправильный формат

126
No debug info
 
Не задана информация для отладки

127
Not enough memory
 
Не хватает памяти

128
Press any key
 
Нажмите любую клавишу

129
Program terminated
 
Исполнение программы прекращено

130
Range check error
 
Выход индекса за пределы массива

131
Runtime error
 
Ошибка во время исполнения

132
Stack overflow error
 
Ошибка по переполнению стека

133
Too many breakpoints
 
Слишком много точек останова

134
Type EXIT to return to Turbo Pascal
 
Введите Exit для возврата в Турбо Паскаль

135
User Break
 
Пользователь прервал исполнение программы

П3.
СООБЩЕНИЯ И КОДЫ ОШИБОК

П3.1. СООБЩЕНИЯ
ОБ ОШИБКАХ ПЕРИОДА КОМПИЛЯЦИИ

Среда Турбо Паскаля дает исчерпывающую
информацию о характере и месте обнаруженной
компилятором ошибки. При обнаружении
ошибки среда автоматически загружает
в окно редактора исходный файл и помещает
курсор около того места, где в исходном
тексте обнаружена ошибка. При этом в
верхней строке редактора появляется
диагностическое сообщение. После нажатия
на любую клавишу (кроме FI) верхняя строка
восстанавливает свой первоначальный
вид и среда переходит к режиму
редактирования. Если после появления
сообщения об ошибке нажать F1, на экране
появится окно справочной службы с
детальной информацией об ошибке и
рекомендациями по ее устранению.
Некоторые ошибки в исходном тексте
обнаруживаются не сразу, а в ходе
продолжающегося контекстного разбора.
Например, несоответствие типов в
операторе присваивания не может быть
обнаружено до тех пор, пока не будет
вычислено целиком выражение в правой
части этого оператора. В таких случаях
ищите ошибку слева от курсора или в
предыдущей строке текста.

Ниже приводятся сообщения об ошибках
в том виде, в каком они появляются в
верхней строке редактора, а также перевод
сообщений справочной службы.

На экране после кода ошибки (цифры) нет
точки, поэтому ее нет и в соответствующем
месте текста.

1 Out of memory  (Выход
за границы памяти).

Компилятору не хватает памяти. Имеется
ряд возможных решений этой проблемы:

  • если в опции COMPILE/DESTINATION установлено
    значение MEMORY, замените эту опцию на
    DISK;

  • если в опции OPTIONS/LINKER/LINK BUFFER установлено
    значение MEMORY, замените эту опцию т DISK;

  • если Вы используете резидентные
    обслуживающие программы, такие как
    SIDEKICK, NORTON, удалите их из памяти;

  • если Вы используете интегрированную
    среду TVRBO.EXE, то попробуйте воспользоваться
    компилятором ТРС.ЕХЕ — он занимает
    меньше памяти.

Если ни одна из рекомендаций не помогает,
то, возможно, Ваша программа просто
слишком велика, чтобы компилировать ее
в таком объеме памяти. В этом случае Вы
должны разбить ее на два или более
модулей.

2 Identifier
expected (He указан
идентификатор).

В этом месте должен находиться
идентификатор. Возможно, Вы пытаетесь
использовать в качестве идентификатора
зарезервированное слово.

3 Unknown identifier (Неизвестный
идентификатор). 

Этот идентификатор не был описан.

4 Duplicate identifier (Двойной
идентификатор). 

Попытка дважды описать один и тот же
идентификатор.

5 Syntax error (Синтаксическая
ошибка).

В исходном тексте найден недопустимый
символ. Возможно, Вы забыли заключить
в апострофы строковую константу.

6 Error in real constant (Ошибка
в вещественной константе). 

Синтаксис констант вещественного типа
описан в гл.4.

7 Error in integer constant
(Ошибка в целой константе).

Синтаксис констант целого типа описан
в гл.4. Учтите, что после целых действительных
чисел, превышающих диапазон представления
целых чисел (-2147483648..+2147483647), должны
ставиться точка и ноль, например,
12345678912.0.

8 String constant exceeds line
(Строковая константа превышает допустимые
размеры).

Вероятно, Вы забыли поставить апостроф
в конце строковой константы.

9 Too many nested files (Слишком
много вложенных файлов).

Компилятор допускает не более пяти
уровней вложенности включаемых файлов
(т.е. в исходном файле есть ссылка на
включаемый файл, в котором есть ссылка
на еще один включаемый файл и т.д.).

10 Unexpected end of file (He
найден конец файла).

Вы могли получить это сообщение об
ошибке по одной из следующих причин:

  • Ваш исходный файл закончился перед
    последним END основного раздела операторов;
    вероятно, в Вашей программе неодинаковое
    количество операторов BEGIN и END;

  • включаемый файл заканчивается в середине
    раздела операторов; каждый раздел
    операторов должен целиком помещаться
    в одном файле;

  • Вы не закончили комментарий.

11 Line too long (Слишком
длинная строка).

Максимальная длина строки, обрабатываемой
компилятором, равна 126 символам (обратите
внимание: редактор среды может обрабатывать
строки практически неограниченной
длины).

12 Type identifier expected
(Здесь нужен идентификатор типа). 

Не указан тип идентификатора.

13 Too many open files (Слишком
много открытых файлов).

Появление этой ошибки означает, что
конфигурационный файл CONFIG.SYS операционной
системы не включает параметр FlLES=xx или
этот параметр указывает слишком мало
файлов. Увеличьте число файлов до нужного
значения, например, до 80.

14 Invalid file name (Неверное
имя файла). 

Имя файла неверно или указан несуществующий
путь.

15 File not found (Файл не
найден). 

Файл не был найден в просмотренных
каталогах.

16 Disk full (Диск
заполнен). 

Удалите некоторые файлы или воспользуйтесь
новым диском.

17 Invalid compiler directive
(Неправильная директива компилятора). 

Неверная буква в директиве компилятора,
один из параметров директивы компилятора
неверный, или Вы пользуетесь глобальной
директивой компилятора, когда компиляция
тела программы уже началась.

18 Too many files (Слишком
много файлов).

В компиляции программы или программного
модуля участвуют слишком много файлов.
Попытайтесь не использовать так много
файлов, например, объединяя включаемые
файлы или делая короче имена файлов.

19 Undefined type in pointer
definition (Неопределенный тип в объявлении
указателя).

Попытка объявить типизированный
указатель, связанный с ранее не объявленным
типом данных.

20 Variable identifier expected
(Отсутствует идентификатор переменной). 

На этом месте должен быть идентификатор
переменной.

21 Error in type (Ошибка в
объявлении типа). 

Объявление типа не может начинаться с
этого символа.

22 Structure too large (Слишком
большая структура). 

Максимально допустимый размер любого
структурного типа составляет 65520 байт.

23 Set base type of range
(Базовый тип множества нарушает границы). 

Базовый тип множества должен представлять
собой тип-диапазон с границами в пределах
от 0 до 255 или перечисляемый тип с не
более чем 256 значениями.

24 File components may not be files (Компонентами файла
не могут быть файлы) .

Конструкции типа file of file (файл файлов)
или file of object (файл объектов) не допускаются.
Нельзя объявлять любые структурные
типы, которые используют в качестве
компонентов объекты или файлы.

25 Invalid string length
(Неверная длина строки). 

Объявляемая длина строки должна
находиться в диапазоне от 1 до 255.

26 Type mismatch (Несоответствие
типов).

Это сообщение может быть вызвано
следующими причинами:

  • несовместимые типы переменной и
    выражения в операторе присваивания;

  • несовместимые типы фактического и
    формального параметров в обращении к
    процедуре или функции;

  • тип выражения не совместим с типом
    индекса при индексировании массива;

  • несовместимые типы операндов в выражении.

27 Invalid subrange base
type(Неправильный базовый тип для
типа-диапазона).

Допустимыми базовыми типами являются
все порядковые типы.

28 Lower bound greater than upper
bound (Нижняя граница больше верхней). 

Описание типа-диапазона содержит
неправильные границы.

29 Ordinal type expected (Нужен
порядковый тип) .

Вещественные, строковые, структурные,
процедурные типы и указатели в данном
месте программы не допускаются.

30 Integer constant expected
(Нужна целая константа).

31 Constant expected (Нужна
константа).

32 Integer or real constant
expected (Нужна целая или вещественная
константа) .

33 Tуре 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
(Нужно выражение перечисляемого типа).

40 Boolean expression expected
(Нужно выражение типа BOOLEAN).

41 Operand types do not match
operator (Типы операндов не соответствуют
операции).

Данная операция не может быть применена
к указанным операндам, например, ‘ А’ div
‘ 2 ‘ .

42 Error in expression (Ошибка
в выражении).

Данный символ не может участвовать в
выражении указанным образом. Возможно,
Вы забыли указать операцию между двумя
операндами.

43 Illegal assignment (Неверное
присваивание).

Файлам и нетипизированным переменным
нельзя присваивать значения. Идентификатору
функции можно присвоить значение только
внутри раздела операторов данной
функции.

44 Field identifier expected
(Нужен идентификатор поля).

Попытка использовать запись целиком в
том месте, где требуется ссылка на
какое-либо поле записи.

45 Object file too large
(Объектный файл слишком большой). 

Турбо Паскаль не может компоновать
файлы .OBJ больше 64 Кбайт.

46 Undefined external
(Неопределенная внешняя процедура).

Внешняя процедура или функция не имеет
соответствующего определения PUBLIC в
объектном файле. Убедитесь, что Вы
указали все объектные файлы в директивах
{$L <имя .OBJ-файлa>} и проверьте написание
идентификаторов процедуры или функции
в файле . ASM.

47 Invalid object file record
(Неправильная запись объектного файла). 

Файл .OBJ содержит неверную объектную
запись. Убедитесь, что данный файл
является действительно файлом .OBJ.

48 Code segment too large
(Сегмент кода слишком большой).

Максимальный размер кода программы или
программного модуля равняется 65520
байтам. Разбейте Вашу программу или
модуль на два или более модулей.

49 Data segment too large
(Сегмент данных слишком велик).

Максимальный размер сегмента данных
программы равен 65520 байтам, включая
данные, используемые программными
модулями. Если Вам нужно большее
количество глобальных данных, опишите
большие структуры с помощью указателей
и выделяйте для них память динамически
с помощью процедуры NEW.

50 DO expected (Нужен
оператор DO).

51 Invalid PUBLIC definition
(Неверное PUBLIC-определение). 

Возможные причины сообщения:

  • данный идентификатор получил тип PUBLIC
    с помощью соответствующей директивы
    языка ассемблера, но не соответствует
    описанию EXTERNAL в программе или программном
    модуле Паскаля;

  • две или более директивы PUBLIC языка
    ассемблера определяют один и тот же
    идентификатор;

  • файлы .OBJ определяют символы PUBLIC, не
    находящиеся в сегменте CODE.

52 Invalid EXTRN definition
(Неправильное EXTRN-определение). 

Возможные причины сообщения:

  • программа на ассемблере ссылается с
    помощью директивы EXTRN на идентификатор,
    который не описан в программе на Паскале
    и не был описан в интерфейсных секциях
    используемых программных модулей;

  • ассемблерная программа ссылается на
    идентификатор, обозначающий абсолютную
    переменную (т.е. определенную словом
    ABSOLUTE);

  • ассемблерная программа ссылается на
    идентификатор процедуры или функции
    типа INLINE.

53 Too many EXTRN definition
(Слишком много EXTRN-определений). 

Турбо Паскаль не может обрабатывать
файлы .OBJпри более чем 256 определениях
EXTRN.

54 OF expected (Требуется
OF).

55 INTERFACE expected (Требуется
интерфейсная секция).

56 Invalid relocatable reference
(Неправильная перемещаемая ссылка). 

Возможные причины сообщения:

  • файл .OBJ содержит данные и перемещаемые
    ссылки в сегментах, отличных от CODE.
    Например, Вы пытаетесь описать
    инициализированные переменные в
    сегменте DATA;

  • файл .OBJ содержит ссылки с размерами в
    байтах на перемещаемые символы. Такая
    ошибка происходит в случае, если Вы
    используете операторы HIGH и LOW с
    перемещаемыми символами или если Вы
    ссылаетесь в директивах DB на перемещаемые
    символы;

  • операнд ссылается на перемещаемый
    символ, который не был определен в
    сегменте CODE или в сегменте DATA;

  • операнд ссылается на процедуру EXTRN или
    функцию EXTRN со сдвигом, например, CALL
    SortProc+8.

57 THEN expected (Требуется
THEN).

58 TO or DOWNTO expected
(Требуется ТО или DOWNTO).

59 Undefined forward
(Неопределенное опережающее описание). 

Возможные причины сообщения:

  • была рписана процедура или функция в
    интерфейсной секции программного
    модуля, но ее определение отсутствует
    в секции реализации;

  • процедуры или функции были описаны с
    помощью опережающего описания, но их
    определение не найдено.

60 Too many procedures (Слишком
иного процедур).

Турбо Паскаль допускает не более 512
процедур или функций в одном модуле.
Если Вы компилируете программу, то
поместите некоторые процедуры или
функции в модули. Если Вы компилируете
модуль, то разбейте его на два или
несколько модулей.

61 Invalid typecast (Неверное
преобразование типа). 

Возможные причины сообщения:

  • Вы пытаетесь разместить в памяти,
    занимаемой некоторой переменной,
    значение выражения другого типа э
    случае, когда размер размещаемого
    значения не равен размеру переменной;

  • Вы пытаетесь осуществить преобразование
    типа выражения, когда разрешается
    только ссылка на переменную, процедуру
    или функцию.

62 Division by zero (Деление
на ноль). 

Предшествующая операция пытается
выполнить деление на ноль.

63 Invalid file type (Неверный
файловый тип).

Данный файловый тип не обслуживается
процедурой обработки файлов. Например,
процедура READLN используется для
типизированного файла или процедура
SEEK — для текстового файла.

64 Cannot Read or Write variables
of this type (Нет возможности считать или
записать переменные данного типа). 

Нарушены следующие ограничения:

  • процедуры READ и READLN могут считывать
    переменные символьного, целого,
    действительного и строкового типов;

  • процедуры WRITE и WRITELN могут выводить
    переменные символьного, целого,
    действительного, булевского и строкового
    типов.

65 Pointer variable expected
(Нужно использовать переменную-указатель). 

Предыдущая переменная должна быть
указателем.

66 String variable expected
(‘Нужна строковая переменная) . 

Предшествующая переменная должна иметь
строковый тип.

67 String expression expected
(Нужно выражение строкового типа). 

Предшествущее выражение должно иметь
строковый тип.

68 Circular unit reference
(Перекрестная ссылка модулей). 

Два модуля ссылаются друг на друга:

Unit A;      
Unit В;

Uses В;      
Uses А; 

…..        
…..

69 Unit name mismatch
(Несоответствие имен программных
модулей). 

Имя программного модуля, найденное в
файле .TPU, не соответствует имени,
указанному в предложении USES.

70 Unit version mismatch
(Несоответствие версий модулей).

Один или несколько программных модулей,
используемых данной программой, были
изменены после их компиляции. Воспользуйтесь
опцией COMPILE/MAKE или COMPILE/BUILD в интегрированной
среде или опциями /М или /В в компиляторе
ТРС, что позволит автоматически
скомпилировать программные модули,
нуждающиеся в перекомпиляции.

71 Duplicate unit name (Повторное
имя программного модуля). 

Вы уже указали этот программный модуль
в операторе USES.

72 Unit file format error (Ошибка
формата файла модуля). 

Файл .TPU не соответствует стандарту
Турбо Паскаля.

73 IMPLEMENTATION expected
(Отсутствует исполняемая часть модуля).

74 Constant and case types do not
match (Типы констант и тип выражения
оператора CASE не соответствуют друг
другу).

Тип константы оператора CASE не совместим
с выражением в операторе варианта.

75 Record variable expected
(Нужна переменная типа запись) . 

Предшествующая переменная должна иметь
тип запись.

76 Constant out of range
(Константа нарушает границы). 

Возможные причины сообщения:

  • Вы пытаетесь указать индекс массива,
    выходящий за его границы;

  • Вы пытаетесь присвоить переменной
    значение, выходящее за границы, допустимые
    для типа этой переменной;

  • Вы пытаетесь передать в качестве
    фактического параметра процедуре или
    функции константу, выходящую за границы,
    допустимые для типа соответствующего
    формального параметра.

77 File variable expected (Нужна
файловая переменная). 

Предшествующая переменная должна иметь
файловый тип.

78 Pointer expression expected
(Нужно выражение типа указатель). 

Предшествующее выражение должно иметь
тип указателя.

79 Integer or real expression
expected (Нужно выражение вещественного
или целого типа).

Предшествующее выражение должно иметь
тип REAL или INTEGER.

80 Label not within current block
(Метка не находится внутри текущего
блока) .

Оператор GOTO не может ссылаться на метку,
находящуюся вне текущего блока.

81 Label already defined (Метка
уже определена). 

Данная метка уже помечает оператор.

82 Undefined label in processing
statement 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 (Слишком
много переменных).

Нарушены следующие ограничения:

  • общий размер глобальных переменных,
    описанных в программе или программном
    модуле, не может превышать 64 Кбайт;

  • размер локальных переменных, описанных
    в процедуре или функции, не может
    превышать 64 Кбайт. .

97 Invalid FOR control
variable(Неправильный параметр цикла
оператора FOR).

Параметр цикла оператора FOR должен быть
переменной порядкового типа, определенной
в разделе описаний текущей подпрограммы.

98 Integer variable expected
(Нужна переменная целого типа). 

Предшествующая переменная должна иметь
целый тип.

99 File and procedure types are
not allowed here (Здесь не могут использоваться
файлы или процедурные типы).

Типизированная константа не может иметь
файловый или процедурный тип.

100 String length mismatch
(Несоответствие длины строки).

Длина строковой константы не соответствует
количеству элементов символьного
массива.

101 Invalid ordering of fields
(Неверный порядок полей). 

Поля в константе типа запись должны
записываться в порядке их описания.

102 String constant expected
(Нужна константа строкового типа).

103 Integer or real variable
expected (Нужна переменная типа INTEGER или
REAL).

Предшествующая переменная должна иметь
целый или вещественный тип.

104 Ordinal variable expected
(Нужна переменная порядкового типа). 

Предшествующая переменная должна иметь
порядковый тип.

105 INLINE error (Ошибка в
операторе INLINE).

Оператор «<» не допускается в сочетании
с перемещаемыми ссылками на переменные.
Такие ссылки всегда имеют размер в
слово.

106 Character expression expected
(Предшествующее выражение должно иметь
символьный тип).

107 Too many relocation items
(Слишком много перемещаемых Элементов).

Размер таблицы перемещения файла .ЕХЕ
превышает 64 Кбайта, что является верхним
пределом в Турбо Паскале. Если Вы
обнаружили эту ошибку, то это значит,
что программа просто слишком велика
для обработки компоновщиком Турбо
Паскаля. Возможно также, что она слишком
велика для выполнения в MS-DOS. В таком
случае нужно выделить в программе
основной раздел, который выполнял бы
обращение к двум или более вспомогательным
разделам с помощью процедуры ЕХЕС из
модуля DOS (см. гл.11).

108 Overflow in arithmetic
operator (Переполнение при выполнении
арифметического оператора).

Результат предыдущей арифметической
операции не лежит в диапазоне -2 146 483
648…+2 147 483 647. Исправьте операцию или
используйте вещественные типы вместо
целочисленных.

109 No enclosing FOR, WHILE or
REPEAT statment (Нет операторов, заканчивающих
операторы FOR, WHILE или REPEAT) .

Процедуры BREAK и CONTINUE не могут вызываться
вне тела оператора цикла.

110 Debug information table
overflow (Переполнение информационной
таблицы отладки).

Возможно, программа содержит более
65536 имен или 65536 строк. Отключите генерацию
таблиц отладки директивой компилятора
{$D-} или исправьте один или более модулей.

111

Ошибка с этим кодом не описана в версии
7.0 системы Турбо Паскаль.

112 CASE constant out of
range(Константа CASE нарушает допустимые
границы).

Целочисленные константы оператора CASE
должны находиться в диапазоне от -32768
до 32767.

113 Error in
statement (Ошибка
в
операторе). 

Данный символ не может быть первым
символом в операторе.

114 Cannot call an interrupt
procedure (Невозможно вызвать процедуру
прерывания) .

Вы не можете непосредственно вызвать
процедуру обработки прерывания.

115

Ошибка с этим кодом не описана в версии
7.0 системы Турбо Паскаль.

116 Must be in
8087 mode to compile this (Для
компиляции
необходим
режим
8087) .

Данная программа может быть скомпилирована
только в режиме {$N+}. В состоянии {SN-}
операции с типами SINGLE, DOUBLE, EXTENDED и СОМР
не допускаются.

117 Target address not found
(Указанный адрес не найден).

Команда COMPILE/FIND ERROR в среде Турбо Паскаля
(или поиск с помощью опции /F в командной
строке компилятора ТРС.ЕХЕ) не обнаружила
оператор, соответствующий заданному
адресу.

118 Include
files are not allowed here (Здесь
не
допускаются
включаемые
файлы)
.

Раздел операторов должен целиком
размещаться в одном файле.

119 No inherited methods are
accessible here (В этом месте программы нет
унаследованных методов).

Вы используете зарезервированное слово
INHERITED вне метода объекта или в методе,
который не унаследован от родительского
объекта.

120

Ошибка с этим кодом не описана в версии
7.0 системы Турбо Паскаль. .

121 Invalid qualifier (Неверный
квалификатор). 

Возможные причины сообщения:

  • Вы пытаетесь индексировать переменную,
    которая не является массивом;

  • Вы пытаетесь указать поля в переменной,
    которая не является записью;

  • Вы используете в качестве указателя
    переменную, которая не является
    указателем.

122 Invalid variable reference
(Недействительная ссылка на переменную).

Предыдущая конструкция удовлетворяет
синтаксису ссылки на переменную, но она
не указывает адрес памяти. Возможно Вы
вызываете функцию-указатель, но забываете
сослаться на результат с помощью знака
^.

123 Too many symbols'(Слишком
много символов) .

Программа или программный модуль
содержат более 64 Кбайт символов. Если
Вы компилируете программу с директивой
{$D+}, то попробуйте отключить эту директиву
или разбейте программу на несколько
модулей.

124 Statement part too large
(Слишком большой раздел операторов).

Турбо Паскаль ограничивает размер
раздела операторов до величины примерно
24 Кбайта. Если Вы обнаружили эту ошибку,
поместите части раздела операторов в
одну или несколько процедур и вообще
сделайте Вашу программу более
структурированной.

125

Ошибка с этим кодом не описана в версии
7.0 системы Турбо Паскаль.

126 Files must be var parameters
(Файлы должны передаваться как
параметры-переменные) .

Вы пытаетесь передать процедуре или
функции параметр-значение файлового
типа. Параметры файлового типа должны
быть параметрами-переменными.

127 Too many conditional symbols
(Слишком много условных символов). 

Недостаточно памяти для определения
условных символов (слов, управляющих
командами условной компиляции).
Попытайтесь удалить некоторые символы
или уменьшить их длину.

128 Misplaced conditional
directive (Пропущена условная директива). 

Компилятор обнаружил директиву {$ELSE}
или {$ENDIF} без соответствующих директив
{$IFDEF}, {$IFNDEF} или {$IFOPT}.

129 ENDIF
directive missing (Пропущена
директива
ENDIF).

Исходный файл закончился внутри
конструкции условной компиляции. В
исходном файле должно быть равное
количество директив {$IFxxx} и {$ENDIF}.

130 Error in
initial conditional defines (Ошибка
в
условных
определениях).

Исходные условные символы.указанные в
опции OPTIONS/COMPILER /CONDITIONAL DEFINES являются
недействительными. Турбо Паскаль требует
нуля или более идентификаторов,
разделенных пробелами, запятыми или
точками с запятой.

131 Header does not match
previous definition (Заголовок не соответствует
предыдущему определению). 

Возможные причины сообщения:

  • заголовок процедуры или функции,
    указанный в интерфейсной секции, не
    соответствует заголовку в исполняемой
    части.

  • заголовок процедуры или функции,
    указанный с помощью опережающего
    описания FORWARD, не соответствует заголовку
    найденной далее одноименной процедуры
    или функции.

132 Critical disk error
(Критическая ошибка диска).

Во время компиляции произошла критическая
ошибка диска (например, дисковод находится
в состоянии «не готов»).

133 Cannot
evaluate this expression (Нельзя
вычислить
данное
выражение).

В выражении-константе или в отладочном
выражении Вы пытаетесь использовать
неподдерживаемые средства, например,
в описании константы пытаетесь
использовать функцию SIN или вызвать в
отладочном выражении определенную
пользователем функцию.

134 Expression incorrectly
terminated (Некорректное завершение
выражения). 

Контекстуально в данном месте программы
должен быть конец выражения или оператора.

135 Invalid format specifier
(Неверный спецификатор формата). 

Используется неверный спецификатор
формата или числовой аргумент спецификатора
формата выходит за допустимые границы.

136 Invalid indirect reference
(Недопустимая косвенная ссылка).

Оператор пытается осуществить недопустимую
косвенную ссылку. Например, Вы используете
абсолютную переменную, базовая переменная
которой в текущем модуле неизвестна,
или используете программу типа INLINE, в
которой делается ссылка на переменную,
неопределенную в текущем модуле.

137 Structured variable are not
allowed here (Здесь нельзя использовать
переменную структурного типа).

Делается попытка выполнить над переменной
структурного типа неподдерживаемую
операцию. Например, Вы пытаетесь
перемножить две записи.

138 Cannot evaluate without
System unit (Нельзя вычислить выражение без
модуля SYSTEM).

Чтобы отладчик смог вычислить выражение,
в файле TURBO.TPL должен содержаться модуль
SYSTEM.

139 Cannot access this symbol
(Нет доступа к данному символу). 

Как только Вы скомпилируете программу,
все множество ее символов становится
доступным. Однако к отдельным символам
(например, к переменным) нельзя получить
доступ, пока Вы не запустите программу.

140 Invalid floating-point
operation (Недопустимая операция с плавающей
запятой) .

При выполнении операции с плавающей
запятой произошло переполнение или
деление на ноль.

141 Cannot compile overlay to
memory (Нельзя выполнить компиляцию
оверлейных модулей в память).

Программа, использующая оверлейные
модули, должна компилироваться на диск.

142 Procedure or function
variable expected (Должна использоваться
переменная процедурного типа).

В этом контексте оператор получения
адреса @ может использоваться только с
переменной процедурного типа.

143 Invalid
procedure or function reference (Недопустимая
ссылка
на
процедуру
или
функцию).

Возможные причины сообщения:

  • Вы пытаетесь вызвать процедуру в
    выражении;

  • процедура или функция, использующаяся
    в качестве параметра вызова другой
    процедуры или функции, должна
    компилироваться в состоянии {$F+} и не
    может описываться с помощью
    зарезервированных слов INLINE или INTERRUPT.

144 Cannot overlay this unit
(Этот модуль не может использоваться в
качестве оверлейного).

Попытка использовать в качестве
оверлейного модуль, который не был
скомпилирован с директивой {$O+}.

145 Too many nested scopes
(Слишком много вложений).

В программе не может быть больше 512
вложений с не более чем 128 вложениями в
каждом модуле. Вложениями считаются:

  • каждый модуль в предложении USES;

  • каждая вложенная запись в типе RECORD;

  • каждый вложенный оператор WITH.

146 File access denied (Отказано
в доступе к файлу). 

Возможные причины:

  • Вы пытаетесь использовать файл с
    атрибутом «только для чтения» в качестве
    выводного файла;

  • Вы используете имя каталога вместо
    имени выводного файла.

147 Object
type expected (Здесь
должен
быть
тип
OBJECT). 

Возможно, вам также будет интересно:

  • Ошибка 113 в браузере телевизора lg как исправить ошибку
  • Ошибка 113 net err ssl version or cipher mismatch
  • Ошибка 1128 the product was not installed correctly
  • Ошибка 1127 киа спортейдж 1
  • Ошибка 1126 тойота виста ардео

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии