Run error 102 паскаль

Программа выдает Error 102: File not assigned Turbo Pascal Решение и ответ на вопрос 221043

Kaji

0 / 0 / 1

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

Сообщений: 33

1

27.12.2010, 00:54. Показов 3626. Ответов 13

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


Здравствуйте.
Итак, кусок кода:

Pascal
1
2
3
BEGIN {glav prog}
assign(input, 'spis.txt');
reset(input);

курсор стоит на reset и выдает Error 102: File not assigned . Почему? Я же его строчкой выше ассигню? Сам файл лежит в директории BIN, проверял. Если нужно, могу привести весь код.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



1 / 1 / 0

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

Сообщений: 55

27.12.2010, 00:59

2

На сколько я знаю, нужно не reset, а rewrite, а уже потом для дозаписи reset.



0



0 / 0 / 1

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

Сообщений: 33

27.12.2010, 01:03

 [ТС]

3

файл нужен только для чтения, вывод на экран, поэтому reset



0



98 / 98 / 29

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

Сообщений: 220

27.12.2010, 01:03

4

давай код



0



1 / 1 / 0

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

Сообщений: 55

27.12.2010, 01:06

5

Тогда может проблема в указание пути?

assign (input, ‘spis.txt’);

Если паскаль не пропатченный, то нужно полностью указывать путь.



0



98 / 98 / 29

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

Сообщений: 220

27.12.2010, 01:09

6

Посмотри File->ChangeDir там папка Bin выбрана?



0



Kaji

0 / 0 / 1

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

Сообщений: 33

27.12.2010, 01:21

 [ТС]

7

выбрана.

вот полный код:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
program spisok;
 
TYPE inf= string[15];
     ukazatel=^zapis;
     zapis=record
          data:inf;
          next:ukazatel
          end;
 
VAR  head, prom: ukazatel;
     A:    inf;
 
procedure sozdanieSpiska(var head: ukazatel; A: inf);
 
var prom: ukazatel;
 
begin
new(head); {perviy element pustoi}
prom:= head;
while not eof do
  begin
  readLn(A);
  new(prom^.next);
  prom:= prom^.next;
  prom^.data:= A;
  prom^.next:= nil;
  end;
end; {of sozdanie spiska}
 
procedure sortSpiska(var head: ukazatel);
 
var key,keypred,zappred,zappredpred: ukazatel;
 
begin
zappred:=head^.next;
zappredpred:=head;
key:=head^.next^.next;
keypred:=head^.next;
while key^.next <> nil do
  begin
  repeat
    prom:= key;
    if key^.data < zappred^.data then
    begin
    zappredpred^.next:= key;
    keypred^.next:= key^.next;
    key^.next:= zappred;
    break;
    end
                               else
    begin
    zappred:= zappred^.next;
    zappredpred:= zappredpred^.next;
    end;
  until zappred= key;
  zappred:= head^.next;
  zappredpred:= head;
  key:= prom^.next;
  keypred:= prom;
  end; {of while}
end; {of sortSpiska}
 
procedure vivodSpiska(var head: ukazatel);
 
begin
while head <> nil do
  begin
  writeLn(head^.data,' ');
  head:= head^.next;
  end; {of while}
writeLn('-----');
end; {of vivodSpiska}
 
 
BEGIN {glav prog}
assign(input, 'spis.txt');
reset(input);
 
sozdanieSpiska(head, A);
vivodSpiska(head);
sortSpiska(head);
 
while head <> nil do {udalenie spiska}
  begin
  prom:= head^.next;
  dispose (head);
  head:=prom;
  end;
end.



0



Merlin666

98 / 98 / 29

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

Сообщений: 220

27.12.2010, 01:52

8

объяви

Pascal
1
input: text;

и в конце еще

Pascal
1
close(input);



0



0 / 0 / 1

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

Сообщений: 33

27.12.2010, 04:04

 [ТС]

9

на input: text даёт Error 43: Illegal assignment



0



use

180 / 180 / 81

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

Сообщений: 346

27.12.2010, 05:21

10

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

на input: text даёт Error 43: Illegal assignment

Не надо использовать зарезервированные слова. Идентификаторы input и outut жестко закреплены за консолью. В принципе, перенаправление их возможно, но не рекомендую с ним связываться. Если тебе просто нужно читать/обрабатывать обычный файл на диске, то лучше просто выбери для него другой идентификатор (типа f) и опиши в разделе переменных:

Pascal
1
2
var
  f: text;

— и assign или открывай/закрывай его, когда хочешь.



0



Kaji

0 / 0 / 1

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

Сообщений: 33

27.12.2010, 20:09

 [ТС]

11

попробовал так:

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
program spisok;
 
TYPE inf= string[15];
     ukazatel=^zapis;
     zapis=record
          data:inf;
          next:ukazatel
          end;
 
VAR  head, prom: ukazatel;
     A:    inf;
     f: text;
 
procedure sozdanieSpiska(var head: ukazatel; A: inf);
 
var prom: ukazatel;
 
begin
new(head); {perviy element pustoi}
prom:= head;
while not eof do
  begin
  readLn(f, A);
  new(prom^.next);
  prom:= prom^.next;
  prom^.data:= A;
  prom^.next:= nil;
  end;
end; {of sozdanie spiska}
 
procedure sortSpiska(var head: ukazatel);
 
{kod bez izmenenii}
 
procedure vivodSpiska(var head: ukazatel);
 
 
{kod bez izmenenii}
 
 
BEGIN {glav prog}
 
assign(f, 'spis.txt');
reset(f);
 
 
sozdanieSpiska(head, A);
vivodSpiska(head);
sortSpiska(head);
 
while head <> nil do {udalenie spiska}
  begin
  prom:= head^.next;
  dispose (head);
  head:=prom;
  end;
close(f);
end.

ошибка сохранилась.



0



use

180 / 180 / 81

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

Сообщений: 346

28.12.2010, 03:51

12

Сударь, твоя программа вообще не компилируется. Какой может быть разговор об ошибках выполнения? Беглый просмотр наводит на мысль, что это вообще и не рабочий код, а муляж (с выкинутыми процедурами). Ну хорошо, я вставил заглушки и положил в директорию куклу spis.txt — все «работает». В том смысле, что открытие файла проходит нормально, а дальше идут ошибки (потому в кавычках). Теперь скажи — что ты имел в виду под «ошибка сохранилась»?
Почему нельзя писать (если уж спрашиваешь) чуть подробнее и приводить реальный текущий вариант кода? Тебе в лом? Зачем ты заставбяешь тех, кто тебепомогает, проделывать всю эту работу?

Короче, вот этот код полностью компилируется, открывает файл spis.txt (в той же дир) и потом вылетает по ошибке с пойнтерами (проверялось в BP7 и FP).

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
program spisok;
 
TYPE inf= string[15];
     ukazatel=^zapis;
     zapis=record
          data:inf;
          next:ukazatel
          end;
 
VAR  head, prom: ukazatel;
     A:    inf;
     f: text;
 
procedure sozdanieSpiska(var head: ukazatel; A: inf);
var
  prom: ukazatel;
begin
  new(head); {perviy element pustoi}
  prom:= head;
  while not eof do begin
    readLn(f, A);
    new(prom^.next);
    prom:= prom^.next;
    prom^.data:= A;
    prom^.next:= nil;
  end;
end; {of sozdanie spiska}
 
procedure sortSpiska(var head: ukazatel);
{kod bez izmenenii}
begin end;
 
procedure vivodSpiska(var head: ukazatel);
{kod bez izmenenii}
begin end;
 
BEGIN {glav prog}
  assign(f, 'spis.txt');
  reset(f);
  sozdanieSpiska(head, A);
  vivodSpiska(head);
  sortSpiska(head);
 
  while head <> nil do begin {udalenie spiska}
    prom:= head^.next;
    dispose (head);
    head:=prom;
  end;
  close(f);
end.



0



0 / 0 / 1

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

Сообщений: 33

28.12.2010, 22:46

 [ТС]

13

>Сударь, твоя программа вообще не компилируется.

У меня компилируется. Использую TP7.

>В том смысле, что открытие файла проходит нормально, а дальше идут ошибки (потому в кавычках).

Вот файл у меня и не открывается.

>Теперь скажи — что ты имел в виду под «ошибка сохранилась»?

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

>Почему нельзя писать (если уж спрашиваешь) чуть подробнее и приводить реальный текущий вариант кода? Тебе в лом?

Он приведён в посте #7 этой темы. Тебе влом читать сначала темы?



0



180 / 180 / 81

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

Сообщений: 346

29.12.2010, 02:28

14

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

>Сударь, твоя программа вообще не компилируется.

У меня компилируется. Использую TP7.

Я даю правую руку на отсечение и тыщу долларов впридачу, если у тебя скомпилируется код из твоего сообщения #11 (только КАК ОН ЕСТЬ в сообщении, БЕЗ ИЗМЕНЕНИЙ!)

>Почему нельзя писать (если уж спрашиваешь) чуть подробнее и приводить реальный текущий вариант кода? [bold мой — use] Тебе в лом?

Он приведён в посте #7 этой темы. Тебе влом читать сначала темы?

В посте #7 приведен код с INPUT. Если твой реальный текущий вариант кода содержит INPUT, то читай, плз, мой пост #10.

Когда поостынешь, запусти код из сообщения #12 (не из цитаты, а из конца сообщения) и скажи, «сохранилась ли ошибка» на этот раз.
Успехов тебе, грубиян.



0



begin
reset(f);
   assignfile(f, 'data.txt');
  Reset(f);
  found:= false;
  search := edit1.text ;
  repeat
  read(f, phone) ;
  read(f, cusfname);
  read(f, adress);
  found:= search = phone
  until eof(f) or found;
  if found then
  memo1.append(phone);
  memo1.append(cusfname);
  memo1.append(adress);
  closefile(f) ;
  if not found then showmessage('member not found');  

Когда я запускаю это, я получаю файл runerror (102), который не назначен ??????? ps Я назначил переменные в процедуре публично.

1 ответы

Имя reset(f) неправильно, вы назначаете f в следующей строке, поэтому раньше он не назначался.

ответ дан 25 окт ’10, 12:10

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

pascal
lazarus

or задайте свой вопрос.

Приложения написанные на Free Pascal могут генерировать ошибку времени выполнения (Run Time Error) когда в программе обнаруживаются определённые аварийные состояния . Этот документ содержит список возможных ошибок и описание их возможных причин.


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

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


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

Генерируется при попытке перенаименования, стирания или открытия несуществующего файла.


3 Path not found (Путь(директория) не найден)

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


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

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


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

Было запрешено получение доступа к файлу. Эта ошибка может произойти по нескольким причинам:

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

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

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

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

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

  • При попытке удалить директорию или файл, когда это не возможно.

  • При неимении прав на доступ к данному файлу.


6 Invalid file handle (Неправильный хэндл файла)

Происходит, когда используемая Вами файловая переменная была обнулена (испорчена); Это говорит о том, что память вашей программы была повреждена.


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

Генерируется когда процедуры reset или rewrite вызываются с неправильным параметром FileMode.


15 Invalid drive number (Неправильный номер диска)

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


16 Cannot remove current directory (Невозможно удалить текущую директорию)

Генерируется при попытке удалить текущую директорию.


17 Cannot rename across drives (Можно переименовывать файлы только в пределах одного диска)

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


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

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


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

Генерируется когда Вы пытаетесь записать данные на переполненый диск.


102 File not assigned (Файл не определён)

Генерируется функциями Reset, Rewrite, Append, Rename и Erase, При передаче в них файловой переменной, для которой не была выполнена функция AssignFile.


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

Генерируется следующими функциями : Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, и BlockWrite если файл не был открыт.


104 File not open for input (Файл не открыт для чтения)

Генерируется функциями Read, BlockRead, Eof, Eoln, SeekEof и SeekEoln если файл не был открыт при помощи Reset.


105 File not open for output (Файл не открыт для записи)

Генерируется функцией write если текстовый файл не был открыт при помощи Rewrite.


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

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


150 Disk is write-protected (Диск защищён от записи)

(Критическая ошибка)


151 Bad drive request struct length (Неправильная длина структуры запроса)

(Критическая ошибка)


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

(Критическая ошибка)


154 CRC error in data (Ошибка контрольной суммы в данных)

(Критическая ошибка)


156 Disk seek error (Ошибка низкоуровнего поиска на диске)

(Критическая ошибка)


157 Unknown media type (Неизвестный тип …)

(Критическая ошибка)


158 Sector Not Found (Сектор не найден)

(Критическая ошибка)


159 Printer out of paper (Нет бумаги в принтере)

(Критическая ошибка)


160 Device write fault (Сбой записи устройства)

(Критическая ошибка)


161 Device read fault (Сбой чтения устройства)

(Критическая ошибка)


162 Hardware failure (Сбой железа)

(Критическая ошибка)


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

Приложение пыталось разделить число на ноль.


201 Range check error (Ошибка проверки границ)

Если вы компилировали прогамму с включённой провереой границ, Вы можете получить эту ошибку в следующих случаях:

  1. Массив был вызван с индексом, выходящим за декларированые пределы.

  2. Попытка присвоить значение переменной, выходящее за декларированые границы (для instance и enumerated типов).


202 Stack overflow error (Переполнение стека)

Стек превысил свой максимально допустимый размер (в этом случае необходимо уменьшить размер локальных переменных), или стек был повреждён. Эта ошибка генерируется только с включённой проверкой стека.


203 Heap overflow error (Переполнение кучи)

Размер кучи превысил максимально возможный размер. Генерируется при попытке выделить память непосредственно функциями New, GetMem и ReallocMem, или когда экземпляр класса или объекта создаётся и памяти не достаточно. Пожалуйста учтите что, по умолчанию, Free Pascal поддерживает увеличение кучи, то есть, если необходимо, будет произведена попытка её увеличения. Как бы то ни было, если размер кучи превысил максимально допустимый системой и
железом, то Вы получите эту ошибку.


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

Будет сгенерирована при вызове функций Dispose или Freemem с неправильным указателем (чаще всего, Nil)


205 Floating point overflow (Максимальная границы числа с плавающей точкой)

Вы попытались использовать или создать слишком большое число с плавающей точкой.


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

Вы попытались использовать или создать слишком маленькое число с плавающей точкой.


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

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


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

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


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

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


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

Генерируется когда неправильный тип регистрируется в модуле objects.


213 Collection index out of range (Индекс элемента коллекции выходит за допустимые границы)

Генерируется когда Вы попытались обратиться к элементу коллекции с выходящим за допустимые границы индексом (модуль objects).


214 Collection overflow error (Переполнение коллекции)

Размер коллекции превысил максимально допустимый размер, а Вы попытались добавить новый элемент (модуль objects).


215 Arithmetic overflow error (Арифметическое переполнение)

Эта ошибка генерируется когда результат операции превысил допустимые границы. В отличие to Turbo Pascal, эта ошибка генерируется только для 32-bit и 64-bit арифметических переполнений. Это происходит согласно тому, что все операнды конвертируются в 32-bit или 64-bit, до того как производить вычисления.


216 General Protection fault (GP Ошибка защиты памяти)

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

  1. Попытка получить разуказатель для nil.

  2. Попытка получить доступ к выходящему за допустимые границы участку памяти (например, вызов move с неправильной длиной).


217 Unhandled exception occurred (Произошо неизвестное исключение)

Произошло исключение, и для него не существеет хэндла. Модуль sysutils устанавливает handler(менеджер), который отлавливает все исключения, и безопасно выходит в случае обнаружения оного.


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

Генерируется когда недопустимое приведение типов производится над классом используя оператор as. Эта ошибка также генерируется, когда объект или класс приводится к недопустимому объекту или классу, и виртуальный метод этого объекта или класса вызывается. Эта последняя ошибка детектируется только с использованием опции -CR компилятора.


227 Assertion failed error (Сбой утверждения)

Утверждение провалено, и процедурная переменная AssertErrorProc не была уcтановлена.


Pascal runtime error 102

Applications generated by Free Pascal might generate run-time errors when certain abnormal conditions are detected in the application. This appendix lists the possible run-time errors and gives information on why they might be produced. 1 Invalid function number An invalid operating system call was attempted. 2 File not found Reported when trying to erase, rename or open a non-existent file. 3 Path not found Reported by the directory handling routines when a path does not exist or is invalid. Also reported when trying to access a non-existent file. 4 Too many open files The maximum number of files currently opened by your process has been reached. Certain operating systems limit the number of files which can be opened concurrently, and this error can occur when this limit has been reached. 5 File access denied Permission to access the file is denied. This error might be caused by one of several reasons:

  • Trying to open for writing a file which is read-only, or which is actually a directory.
  • File is currently locked or used by another process.
  • Trying to create a new file, or directory while a file or directory of the same name already exists.
  • Trying to read from a file which was opened in write-only mode.
  • Trying to write from a file which was opened in read-only mode.
  • Trying to remove a directory or file while it is not possible.
  • No permission to access the file or directory.

6 Invalid file handle If this happens, the file variable you are using is trashed; it indicates that your memory is corrupted. 12 Invalid file access code Reported when a reset or rewrite is called with an invalid FileMode value. 15 Invalid drive number The number given to the Getdir or ChDir function specifies a non-existent disk. 16 Cannot remove current directory Reported when trying to remove the currently active directory. 17 Cannot rename across drives You cannot rename a file such that it would end up on another disk or partition. 100 Disk read error An error occurred when reading from disk. Typically happens when you try to read past the end of a file. 101 Disk write error Reported when the disk is full, and you’re trying to write to it. 102 File not assigned This is reported by Reset , Rewrite , Append , Rename and Erase , if you call them with an unassigned file as a parameter. 103 File not open Reported by the following functions : Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, and BlockWrite if the file is not open. 104 File not open for input Reported by Read, BlockRead, Eof, Eoln, SeekEof or SeekEoln if the file is not opened with Reset . 105 File not open for output Reported by write if a text file isn’t opened with Rewrite . 106 Invalid numeric format Reported when a non-numeric value is read from a text file, and a numeric value was expected. 107 Invalid enumeration Reported when a text representation of an enumerated constant cannot be created in a call to str or write(ln). 150 Disk is write-protected (Critical error) 151 Bad drive request struct length (Critical error) 152 Drive not ready (Critical error) 154 CRC error in data (Critical error) 156 Disk seek error (Critical error) 157 Unknown media type (Critical error) 158 Sector Not Found (Critical error) 159 Printer out of paper (Critical error) 160 Device write fault (Critical error) 161 Device read fault (Critical error) 162 Hardware failure (Critical error) 200 Division by zero The application attempted to divide a number by zero. 201 Range check error If you compiled your program with range checking on, then you can get this error in the following cases: 1. An array was accessed with an index outside its declared range. 2. Trying to assign a value to a variable outside its range (for instance an enumerated type). 202 Stack overflow error The stack has grown beyond its maximum size (in which case the size of local variables should be reduced to avoid this error), or the stack has become corrupt. This error is only reported when stack checking is enabled. 203 Heap overflow error The heap has grown beyond its boundaries. This is caused when trying to allocate memory explicitly with New , GetMem or ReallocMem , or when a class or object instance is created and no memory is left. Please note that, by default, Free Pascal provides a growing heap, i.e. the heap will try to allocate more memory if needed. However, if the heap has reached the maximum size allowed by the operating system or hardware, then you will get this error. 204 Invalid pointer operation You will get this in several cases:

  • if you call Dispose or Freemem with an invalid pointer
  • in case New or GetMem is called, and there is no more memory available. The behavior in this case depends on the setting of ReturnNilIfGrowHeapFails . If it is True , then Nil is returned. if False , then runerror 204 is raised.

205 Floating point overflow You are trying to use or produce real numbers that are too large. 206 Floating point underflow You are trying to use or produce real numbers that are too small. 207 Invalid floating point operation Can occur if you try to calculate the square root or logarithm of a negative number. 210 Object not initialized When compiled with range checking on, a program will report this error if you call a virtual method without having called its object’s constructor. 211 Call to abstract method Your program tried to execute an abstract virtual method. Abstract methods should be overridden, and the overriding method should be called. 212 Stream registration error This occurs when an invalid type is registered in the objects unit. 213 Collection index out of range You are trying to access a collection item with an invalid index ( objects unit). 214 Collection overflow error The collection has reached its maximal size, and you are trying to add another element ( objects unit). 215 Arithmetic overflow error This error is reported when the result of an arithmetic operation is outside of its supported range. Contrary to Turbo Pascal, this error is only reported for 32-bit or 64-bit arithmetic overflows. This is due to the fact that everything is converted to 32-bit or 64-bit before doing the actual arithmetic operation. 216 General Protection fault The application tried to access invalid memory space. This can be caused by several problems: 1. Dereferencing a nil pointer. 2. Trying to access memory which is out of bounds (for example, calling move with an invalid length). 217 Unhandled exception occurred An exception occurred, and there was no exception handler present. The sysutils unit installs a default exception handler which catches all exceptions and exits gracefully. 218 Invalid value specified Error 218 occurs when an invalid value was specified to a system call, for instance when specifying a negative value to a seek() call. 219 Invalid typecast

Thrown when an invalid typecast is attempted on a class using the as operator. This error is also thrown when an object or class is typecast to an invalid class or object and a virtual method of that class or object is called. This last error is only detected if the -CR compiler option is used. 222 Variant dispatch error No dispatch method to call from variant. 223 Variant array create The variant array creation failed. Usually when there is not enough memory. 224 Variant is not an array This error occurs when a variant array operation is attempted on a variant which is not an array. 225 Var Array Bounds check error This error occurs when a variant array index is out of bounds. 227 Assertion failed error An assertion failed, and no AssertErrorProc procedural variable was installed. 229 Safecall error check This error occurs is a safecall check fails, and no handler routine is available. 231 Exception stack corrupted This error occurs when the exception object is retrieved and none is available. 232 Threads not supported Thread management relies on a separate driver on some operating systems (notably, Unixes). The unit with this driver needs to be specified on the uses clause of the program, preferably as the first unit ( cthreads on unix).

Источник

Pascal runtime error 102

Приложения написанные на Free Pascal могут генерировать ошибку времени выполнения (Run Time Error) когда в программе обнаруживаются определённые аварийные состояния . Этот документ содержит список возможных ошибок и описание их возможных причин.

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

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

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

Генерируется при попытке перенаименования, стирания или открытия несуществующего файла.

3 Path not found (Путь(директория) не найден)

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

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

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

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

Было запрешено получение доступа к файлу. Эта ошибка может произойти по нескольким причинам:

6 Invalid file handle (Неправильный хэндл файла)

Происходит, когда используемая Вами файловая переменная была обнулена (испорчена); Это говорит о том, что память вашей программы была повреждена.

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

Генерируется когда процедуры reset или rewrite вызываются с неправильным параметром FileMode.

15 Invalid drive number (Неправильный номер диска)

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

16 Cannot remove current directory (Невозможно удалить текущую директорию)

Генерируется при попытке удалить текущую директорию.

17 Cannot rename across drives (Можно переименовывать файлы только в пределах одного диска)

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

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

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

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

Генерируется когда Вы пытаетесь записать данные на переполненый диск.

102 File not assigned (Файл не определён)

Генерируется функциями Reset, Rewrite, Append, Rename и Erase, При передаче в них файловой переменной, для которой не была выполнена функция AssignFile.

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

Генерируется следующими функциями : Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, и BlockWrite если файл не был открыт.

104 File not open for input (Файл не открыт для чтения) Генерируется функциями Read, BlockRead, Eof, Eoln, SeekEof и SeekEoln если файл не был открыт при помощи Reset.

105 File not open for output (Файл не открыт для записи) Генерируется функцией write если текстовый файл не был открыт при помощи Rewrite.

106 Invalid numeric format(Неправильный числовой формат) Генерируется когда ожидалось числовое значение, но из текстого файла было прочитано не было.

150 Disk is write-protected (Диск защищён от записи)

151 Bad drive request struct length (Неправильная длина структуры запроса)

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

154 CRC error in data (Ошибка контрольной суммы в данных) (Критическая ошибка)

156 Disk seek error (Ошибка низкоуровнего поиска на диске)

157 Unknown media type (Неизвестный тип …)

158 Sector Not Found (Сектор не найден) (Критическая ошибка)

159 Printer out of paper (Нет бумаги в принтере)

160 Device write fault (Сбой записи устройства)

161 Device read fault (Сбой чтения устройства) (Критическая ошибка)

162 Hardware failure (Сбой железа)

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

Приложение пыталось разделить число на ноль.

201 Range check error (Ошибка проверки границ)

Если вы компилировали прогамму с включённой провереой границ, Вы можете получить эту ошибку в следующих случаях:

202 Stack overflow error (Переполнение стека)

Стек превысил свой максимально допустимый размер (в этом случае необходимо уменьшить размер локальных переменных), или стек был повреждён. Эта ошибка генерируется только с включённой проверкой стека.

203 Heap overflow error (Переполнение кучи)

Размер кучи превысил максимально возможный размер. Генерируется при попытке выделить память непосредственно функциями New, GetMem и ReallocMem, или когда экземпляр класса или объекта создаётся и памяти не достаточно. Пожалуйста учтите что, по умолчанию, Free Pascal поддерживает увеличение кучи, то есть, если необходимо, будет произведена попытка её увеличения. Как бы то ни было, если размер кучи превысил максимально допустимый системой и железом, то Вы получите эту ошибку.

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

Будет сгенерирована при вызове функций Dispose или Freemem с неправильным указателем (чаще всего, Nil)

205 Floating point overflow (Максимальная границы числа с плавающей точкой) Вы попытались использовать или создать слишком большое число с плавающей точкой.

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

Вы попытались использовать или создать слишком маленькое число с плавающей точкой.

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

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

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

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

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

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

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

Генерируется когда неправильный тип регистрируется в модуле objects.

213 Collection index out of range (Индекс элемента коллекции выходит за допустимые границы)

Генерируется когда Вы попытались обратиться к элементу коллекции с выходящим за допустимые границы индексом (модуль objects).

214 Collection overflow error (Переполнение коллекции) Размер коллекции превысил максимально допустимый размер, а Вы попытались добавить новый элемент (модуль objects).

215 Arithmetic overflow error (Арифметическое переполнение)

Эта ошибка генерируется когда результат операции превысил допустимые границы. В отличие to Turbo Pascal, эта ошибка генерируется только для 32-bit и 64-bit арифметических переполнений. Это происходит согласно тому, что все операнды конвертируются в 32-bit или 64-bit, до того как производить вычисления.

216 General Protection fault (GP Ошибка защиты памяти)

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

217 Unhandled exception occurred (Произошо неизвестное исключение)

Произошло исключение, и для него не существеет хэндла. Модуль sysutils устанавливает handler(менеджер), который отлавливает все исключения, и безопасно выходит в случае обнаружения оного.

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

Генерируется когда недопустимое приведение типов производится над классом используя оператор as. Эта ошибка также генерируется, когда объект или класс приводится к недопустимому объекту или классу, и виртуальный метод этого объекта или класса вызывается. Эта последняя ошибка детектируется только с использованием опции -CR компилятора.

227 Assertion failed error (Сбой утверждения)

Утверждение провалено, и процедурная переменная AssertErrorProc не была уcтановлена.

Источник

Понравилась статья? Поделить с друзьями:
  • Run time error 5941 microsoft visual basic
  • Run dll устранение ошибки windows 10 не найден указанный модуль
  • Run time error 57121 excel
  • Run apt get update error
  • Rulesengine как устранить ошибку