к оглавлению

Приложение D - Сообщения об ошибках Clarion

Коды ошибок XML

На момент выпуска этого релиза, вот возможные ошибки, которые могут быть возвращены функцией GetLastError, использованной при обработке XML. Для более подробной информации, обратитесь Clarion XML Support PDF.

Ошибка Описание

0 NoError

1 XMLReadFail

2 XMLWriteFail

3 DuplicateName

4 IllegalName

5 CreateDOMFail

6 EOF (End of File)

7 InvalidArgument

8 IllegalFunctionCall

9 NotSupported

10 InternalError

11 FieldNotFound

12 CommonError

13 IllegalParameter

14 ImportFail

15 NotSuccessful

16 IllegalFormat

17 IllegalType

18 IllegalSize

19 NoSuchField

20 EOS (End of Schema)

21 SchemaNotSupported

22 InconsistentSchema

23 CheckFail

24 AddRecordFailed

25 InvalidNodeName

26 NoCurrentNode

27 CdataNotSupported

28 Base64NotSupported

 

Дополнительные сведения об ERRORCODE 47

Когда ERRORCODE возвращает значение 47 ('Invalid File Declaration'), то вы можете использовать оператор FILEERRORCODE для получения дополнительной информации.

FILEERRORCODE возвращает строку в следующем формате

"obj : index : property : errorcode"

объект один из SYSTEM, FILE, FIELD, MEMO/BLOB, KEY или COMPONENT

индекс порядковый объект в родителе (счет с 1).

свойство имя неверного свойства

код ошибки формат Snumber или Dnumber

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

Dnumber показывает код ошибки определенного драйвера

Snumber показывает общий код ошибки

Ниже приведена таблица кодов ошибок Snumber, с соответствующим номером CLAMSG, сообщение об ошибке по умолчанию и примечание

Объект

Код ошибки

Номер CLAMSG

Сообщение

Примечание

SYSTEM

S00001

100001

Внутренняя ошибка: Свойство не может быть установлено.

Вы никогда не должны видеть ее. Это баг библиотечной функции.

 

S00002

100002

Не обнаружена поддержка динамического файла

Вы пытаетесь изменить драйвер статического файла не имея библиотеки поддержки Драйвера Динамического Фалйа. Этот код ошибки возвращает file{PROP:Driver} = 'value'.

FILE

S00001

1100001

Не указан драйвер файла

Этот код ошибки возвращает file{PROP:Driver} = 'value'.

 

S00002

1100002

Драйвер файла не может быть загружен

Система не может загрузить библиотеку DLL драйвера файла. Возможно не найдена по указанному пути

 

S00003

1100003

DLL не является допустимым драйвером файла

Обычно означает, что файл драйвера поврежден.

 

S00004

1100004

Неопределенный файловый драйвер

Значение указанное в file{PROP:Driver} не соответствует ни одному из известных драйверов. Если вы имеете сторонний драйвер, возможно вам необходимо добавить его в список, хранящийся в реестре Windows "HKEY_LOCAL_MACHINE\Software\SoftVelocity\AnyDriver\\C60"

 

S00005

1100005

Размер структуры записи составляет больше 4194304 байт

 

FIELD

S00001

1200001

Не допустимая метка Clarion

 
 

S00002

1200002

Дублирование метки

 
 

S00003

1200003

Не указан тип

 
 

S00004

1200004

Тип требует указания размера, а он не указан

 
 

S00005

1200005

Группа имеет больше более чем определено

Вы не определили достаточное количество полей в файле, чтобы заполнить группу, основанную на значении. file{PROP:Fields, n} установленного для этой группы.

 

S00006

1200006

Количество знаков после запятой, превышает указанный размер

 
 

S00007

1200007

Слишком большой размер

 
 

S00008

1200008

Подсчет полей не определялся для поля GROUP

 
 

S00009

1200009

Поле должно быть определено поверх поля, определенного ранее

 
 

S00010

1200010

Группа имеет размер больше 4194304 байт

 
 

S00011

1200011

Поле имеет размер больше чем 4190208 байт

 
 

S00012

1200012

Поле больше поля, поверх которого оно объявляется

 
 

S00013

1200013

Недопустимый шаблон

 
 

S00014

1200014

Поле не может быть объявлено поверх поля в другой группе

 

KEY

S00001

1300001

Недопустимая метка Clarion

 
 

S00002

1300002

Дублирование метки

 
 

S00003

1300003

Установлен тип 'KEY', но поля не указаны

 
 

S00004

1300004

Ключ определен как PRIMARY и DUP

 

COMPONENT

S00001

1400001

Число компонент больше числа полей в структуре файла

 
 

S00002

1400002

Компонент является полем массива

 

MEMO/BLOB

S00001

1300001

Недопустимая метка Clarion

 
 

S00002

1300002

Дублирование метки

 
 

S00003

1500003

Не указан размер для MEMO

 

 

Ниже приведена таблица кодов ошибок Dnumber, с соответствующим номером CLAMSG и сообщением об ошибке по умолчанию

Объект

Код ошибки

Номер CLAMSG

Сообщение ошибки

FILE

D00001

2100001

Компонент не соответствует структуре физического файла

FIELD

D00001

2200001

Компонент не соответствует структуре физического файла

 

D00002

2200002

Не указана метка или имя

 

D00003

2200003

Не поддерживаемый тип данных

 

D00004

2200004

Число измерений больше числа поддерживаемых файловым драйвером

 

D00005

2200005

Размер поля больше максимально поддерживаемого файловым драйвером

KEY

D00001

2300001

Компонент не соответствует структуре физического файла

 

D00002

2300002

Не указана метка или имя

 

D00003

2300003

Определено слишком много ключей

COMPONENT

D00001

2400001

Компонент не соответствует структуре физического файла

 

D00002

2400002

Драйвер не поддерживает убывающие последовательности ключа

 

D00003

2400003

Драйвер не поддерживает смешивание последовательностей компонент ключа по возрастанию и убыванию

MEMO/BLOB

D00001

2500001

Компонент не соответствует структуре физического файла

 

D00002

2500002

Не указана метка или имя

 

D00003

2500003

Определено слишком много MEMO

 

D00004

2500004

Размер MEMO-поля больше максимально поддерживаемого файловым драйвером

 

D00005

2500005

Драйвер не поддерживает BLOB

 

D00006

2500006

Драйвер не поддерживает MEMO

 

D00007

2500007

Драйвер не поддерживает BINARY memo или blob

 

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

Объект

Код ошибки

Номер CLAMSG

Сообщение ошибки

FIELD

D03101

2203101

Вы используете с сервером ODBC 1.0 тип данных без знака

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

Объект

Код ошибки

Номер CLAMSG

Сообщение ошибки

MEMO/BLOB

D03201

253201

BLOB поля не поддерживаются Oracle v7 и более ранними версиями

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

Объект

Код ошибки

Номер CLAMSG

Сообщение

Примечание

FILE

D00102

2100102

Вы пытаетесь открыть более новый формат файла TopSpeed, чем поддерживаемый драйвером

В настоящее время этой ошибки не должно выдаваться. Она может появляться в будущем, если изменится формат TopSpeed и вы попытаетесь открыть его текущим драйвером

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

Ошибки времени выполнения, отслеживаемые в программе

В прикладной программе с помощью процедур ERRORCODE и ERROR можно отследить возникновение приведенных далее ошибочных ситуаций. Для каждой ошибки есть числовой код (возвращаемый процедурой ERRORCODE) и соответствующее текстовое сообщение (возвращаемый процедурой ERROR), поясняющее проблему.

2 File Not Found

В заданном каталоге нет указанного файла.

3 Path Not Found

Каталог, указанный как часть пути в файловой системе, не существует.

4 Too Many Open Files

Использованы все доступные идентификационные номера файлов. Проверьте значение, установленное в файле CONFIG.SYS в строке FILES=, или в установках сетевой операционной среды число одновременно открытых файлов.

5 Access Denied

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

7 Memory Corrupted

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

8 Insufficient Memory

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

15 Invalid Drive

Неудачная попытка произвести считывание с несуществующего дискового устройства.

27 Invalid Table Declaration

Попытка открыть файл, который имеет неверную табличную структуру, завершилась ошибкой. Это нормальная ситуация когда Динамический файл был создан некорректно. А также в приложениях, основанных на IP Driver.

30 Entry Not Found

Ошибка при выполнении оператора GET для QUEUE. В форме GET(очередь,ключ) не найдено соответствующее значение ключа, а для формы GET(очередь,указатель), указатель выходит за границы допустимого диапазона.

32 File Is Already Locked

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

33 Record Not Available

Обычно возникает при попытке считать запись после последней (или перед первой) записи файла оператором NEXT или PREVIOUS. Может также выдаваться при выполнении операторов PUT или DELETE, если запись предварительно не была прочитана.

35 Record Not Found

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

36 Invalid Data File

Либо произошло некоторое неопознанное повреждение файла данных, либо атрибут OWNER не

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

37 File Not Open

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

38 Invalid Key File

Возникло нарушение структуры файла ключей, природа которого неясна.

40 Creates Duplicate Key

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

43 Record Is Already Held

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

45 Invalid Filename

Имя файла не соответствует правилам образования имен файлов в DOS.

46 Key File Must Be Rebuilt

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

47 Invalid Record Declaration

Структура файла данных на диске не соответствует структуре, объявленной в программе. Обычно, такая ситуация возникает из-за того, что поменяли описание файла в Словаре Данных и еще не преобразовали сам файл данных в новый формат. Смотрите Как обрабатывать ERROR 47.

48 Unable To Log Transaction

Файл протокола транзакции или pre-image файл нельзя записать на диск. Обычно возникает вследствие недостатка свободного места на диске или у пользователя нет соответствующих прав в сетевой среде.

52 File Already Open

Попытка открыть файл, который данный пользователь уже открыл.

54 No Create Attribute

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

55 File Must Be Shared

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

56 LOGOUT Already Active

Попытка выполнить второй оператор LOGOUT, тогда как транзакция еще не закончилась.

57 Invalid Memo File

Возникло нарушение структуры файла memo-полей, природа которого неясна. Для файлов данных Clarion причиной может быть нарушение сигнатуры .MEM файла или указателей на memo-поле в файле данных, которое свидетельствует о “рассогласовании” ( обычно из-за копирования файлов с одного места в другое и копирования несоответствующего .MEM файла).

63 Exclusive Access Required

Попытка выполнить оператор BUILD(файл), BUILD(ключ), EMPTY(файл) или PACK(файл), в то время

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

64 Sharing Violation

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

65 Unable To ROLLBACK Transaction

Попытка выполнить оператор ROLLBACK транзакции закончилась по неизвестной причине неудачно.

73 Memo File Missing

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

75 Invalid Field Type Descriptor

Поврежден описатель типа поля или в операторе GET(очередь,имя) употреблено имя несуществующей переменной, или описание файла не соответствует файловому драйверу. Например, попытка определить поле LONG в файле xBase не имеющего соответствующего поля MEMO.

76 Invalid Index String

Строка, указанная в операторе BUILD(Динамический индекс,строка) имеет неправильный формат.

77 Unable To Access Index

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

78 Invalid Number Of Parameters

В операторе EVALUATE в процедуру передается неверное число параметров. Примечание: с версии Clarion 6.2 (9047), теперь драйвер SQL добавляет больше информации в лог-файл, поясняющей причину возникновения ERRORCODE 78.

79 Unsupported Data Type In File

Файловый драйвер обнаружил в файле поле, тип которого не поддерживается файловой системой данного драйвера. Обычно это неподдерживаемая форма оператора (отличающаяся параметрами), который вообще-то поддерживается.

80 Unsupported File Driver Function

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

81 Unknown Error Posted

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

88 Invalid Key Length

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

89 Record Changed By Another Station

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

90 File Driver Error

Файловый драйвер обнаружил некую ошибку при работе с файловой системой. Для уточнения природы этой ошибки можно использовать процедуры FILEERRORCODE и FILEERROR.

91 No Logout Active

Оператор COMMIT или ROLLBACK был установлен вне структуры транзакции (не был выполнен оператор LOGOUT).

92 BUILD in Progress

Ранее был выполнен оператор BUILD и было установлено свойство PROP:ProgressEvents для генерирования событий. Оператор, генерирующий эту ошибку, не предназначен для работы во время выполнения BUILD.

93 BUILD Cancelled

Пользователь отменил выполнение BUILD. Эта ошибка появляется при посылке события EVENT:BuildDone.

94 Record Limit Exceeded

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

97 Stream Error

Используется во время обработки RTF.

100 Trigger Error

Эта ошибки возникает каждый раз, когда зарегистрированный метод файла возвращает ЛОЖЬ. Смотри CALLBACK.

1010 Illegal Expression

Процедура EVALUATE обнаружила синтаксическую ошибку в выражении.

1011 Variable Not Found

Функция EVALUATE не нашла переменную, использованную в выражении. Сначала нужно выполнить оператор BIND, чтобы указать все переменные, видимые EVALUATE.

 

Ошибки времени выполнения, не обнаруживаемые в программе

Приведенные далее ошибки, возникающие во время выполнения программы, нельзя обнаружить с помощью процедур ERRORCODE и ERROR.

ACCEPT loop requires a window

Для цикла ACCEPT нет соответствующего ему окна.

ENDPAGE must only be called for reports

Попытка выполнить оператор ENDPAGE, когда нет активной структуры REPORT.

Event posted to a report control

Попытка сгенерировать событие применительно к объекту в структуре REPORT.

Metafile record too large in report

Метафайл .WMF слишком велик, чтобы его можно было напечатать в отчете.

PRINT must only be called for reports

Попытка напечатать структуру, которая не является частью структуры REPORT.

Report is already open

Попытка открыть отчет, который уже открыт и еще не закрыт.

Too many keystrokes PRESSed

Параметр оператора PRESS содержит слишком много символов.

Unable to complete operation (system is MODAL)

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

Unable to create control (system is MODAL)

Попытка создать объект оператором CREATE в программе, открывшей окно с атрибутом MODAL.

Unable to open APPLICATION (APPLICATION already active)

Попытка открыть окно APPLICATION в программе, в которой уже открыто окно MDI.

Unable to open APPLICATION (system is MODAL)

Попытка открыть окно APPLICATION в программе, в которой уже открыто окно с атрибутом MODAL.

Unable to open APPLICATION

Неудачная попытка открыть окно APPLICATION.

Unable to open MDI window (No APPLICATION active)

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

Unable to open MDI window (system is MODAL)

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

Unable to open MDI window on APPLICATION's thread

Попытка открыть окно MDI в том же самом процессе, в котором открыто окно APPLICATION с атрибутом MDI.

Unable to open MDI WINDOW

Неудачная попытка открыть окно с атрибутом MDI .

Unable to open WINDOW

Неудачная попытка открыть окно .

Unable to process ACCEPT (system is MODAL)

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

Unexpected error opening printer device

Неожиданная ошибка во время открытия принтера.

Window is already open

Попытка открыть уже открытое окно.

Window is not open

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

WSLSTG 755

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

 

Ошибки компиляции

Ошибки компиляции

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

Расшифровка сообщений об ошибке, выдаваемых компилятором, для точного определения ошибки, которую следует исправить, может потребовать некоторых умственных усилий. Одна (относительно небольшая) ошибка может породить “лавинный эффект”; - длинный список сообщений об ошибках, которые все имеют одну причину. Как правило в этом случае и возникает ситуация, когда в одном модуле исходного текста появляется длинный список сообщений об ошибках. Чтобы устранить такую ситуацию, нужно исправить только первую ошибку, а затем перекомпилировать и посмотреть, сколько ошибок останется (довольно часто бывает, что не одной). Если же имеется только пара ошибок, далеко друг от друга отстоящих в тексте программы, то похоже, что это независимые ошибки и придется все их найти и исправить перед повторной компиляцией.

 

Специфичные ошибки

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

В некоторых из приведенных далее сообщений содержится шаблон "%V" . Вместо него компилятор подставляет точное имя, указывая, что произошло с этим именем, тем самым уточняя место возникновения и причину ошибки.

! introduces a comment

Это типичная ошибка программистов на С. Если написать IF A != 1 THEN вы получите такое сообщение.

Actual value parameter cannot be array

Передаваемый параметр не должен быть массивом.

ADDRESS parameter ambiguous

ADDRESS(MyLabel), где MyLabel представляет собой имя и процедуры и имя элемента данных.

All fields must be declared before JOINs

В структуре VIEW любой оператор JOIN должен идти после всех операторов PROJECT.

Ambiguous label

Неоднозначность в синтаксисе уточнения имени. Например:

G GROUP

S:T SHORT !Обращаются как к G:S:T

END

G:S GROUP

T SHORT !Обращаются как к G:S:T

END

CODE

G:S:T = 7 !Что здесь имеется ввиду?

Array too big

В 16-ти разрядных приложениях размер массивов ограничен 64 К.

Attribute parameter must be QUEUE, QUEUE field or constant string

Параметр должен быть меткой объявленной ранее структуры QUEUE, поля в структуре QUEUE или строковой константой.

Attribute requires more parameters

Атрибуту нужно передавать все необходимые параметры.

Attribute string must be constant

Параметр должен быть строковой константой, а не меткой переменной.

Attribute variable must be global

Данный параметр должен быть переменной, объявленной в программном модуле, как глобальная переменная.

Attribute variable must have string type

Данный параметр должен быть переменной типа STRING, CSTRING или PSTRING.

BREAK structure must enclose DETAIL

Внутри вложенной структуры BREAK (на самом нижнем уровне) должна быть объявлена хотя бы одна структура DETAIL.

Calling function as procedure

Предупреждение о том, что к процедуре, возвращающей значение и не имеющей атрибута PROC обращаются как процедуре, не возвращающей значение и возвращаемое значение будет потеряно.

Cannot call procedure as function

К процедуре, которая не возвращает значение, нельзя обращаться как к источнику в операторе присваивания или как параметр.

Cannot declare KEY in a VIEW

В структуре VIEW нельзя объявлять ключ.

Cannot EXIT from here

Оператор EXIT может содержаться только внутри локальной подпрограммы (ROUTINE ).

Cannot GOTO into ROUTINE

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

Cannot have default parameter here

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

Cannot have initial values with OVER

Переменная, объявленная с атрибутом OVER не может иметь к тому же начальное значение.

Cannot have statement here

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

Cannot initialize variable reference

Указанная переменная не может иметь начального значения.

Cannot return CSTRING from CLARION function

Для процедур, написанных на языке Clarion, CSTRING является недопустимым типом возвращаемого значения (значения такого типа могут возвращать только функции, написанные на других языках).

Cannot RETURN value from procedure

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

CLARION function cannot use RAW or NAME

Для процедур, написанных на языке Clarion, такие атрибуты недопустимы (только функции, написанные на других языках могут сопровождаться такими атрибутами).

DECIMAL has too many places

Переменные DECIMAL и PDECIMAL могут содержать только 30 десятичных разрядов и и дробная часть не может превышать общую длину.

DECIMAL too long

Переменные DECIMAL и PDECIMAL могут иметь длину максимум 31.

Declaration not valid in FILE structure

В структуре FILE нельзя объявлять такие данные.

Declaration too big

В 16-ти разрядном приложении компилятор обнаружил PSTRING > 255 или MEMO > 64K и т.д.

DLL attribute requires EXTERNAL attribute

Атрибут DLL предполагает наличие атрибута EXTERNAL в 32-х разрядных программах.

Dynamic INDEX must be empty

Попытка использовать форму с двумя параметрами оператора BUILD применительно к ключу или индексу, объявленному с полями-компонентами.

Embedded OVER must name field in same structure

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

ENCRYPT attribute requires OWNER

Атрибуты ENCRYPT и OWNER работают совместно.

Entity-parameter cannot be an array

Нельзя передавать массив параметров-объектов (FILE, QUEUE, и т.д.).

Expected: %V

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

Expression cannot be picture

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

Expression cannot have conditional type

Выражение не дает числового значения. Например, MyValue = A > B неверно.

Expression must be constant

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

Field equate label not defined: %V

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

Field not found

При использовании синтаксиса уточнения имен присутствует ссылка на поле, не являющееся частью порождающего объекта. Например, указание MyGroup.SomeField, в котором SomeField не объявлено в MyGroup.

Field not found in parent FILE

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

Field requires (more) subscripts

Ссылка на элемент многомерного массива должна содержать индекс для каждого измерения.

FILE must have DRIVER attribute

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

FILE must have RECORD structure

Недопустимо объявлять структуру FILE, в которой нет структуры RECORD.

FILEs must have same DRIVER attribute

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

Function did not return a result

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

Function result is not of correct type

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

Group too big

В 16-ти разрядном приложении размер групп ограничен 64K.

Ignoring EQUATE redefinition: %V

Сообщение о том, что указанное мнемоническое имя соответствия игнорируется. Это действительная ошибка переопределения имени, при этом основное определение остается в силе.

Illegal array assignment

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

Illegal character

Недопустимый лексический элемент. Например код ASCII 255 встреченный в исходном тексте.

Illegal data type: %V

Указанный тип данных не соответствует структуре в которой он находится.

Illegal key component

В ключе имеется компонент недопустимого типа.

Illegal nesting of window controls

В структуру OPTION помещен экранный объект, не являющийся кнопкой RADIO или в структуру SHEET помещен объект, не являющийся объектом типа TAB.

Illegal parameter for LIKE

Неправильный параметр в объявлении LIKE. Например, LIKE(7).

Illegal parameter type for STRING

Неправильный параметр в объявлении STRING. Например, STRING(MyVar), где MyVar – метка переменной и не EQUATE.

Illegal reference assignment

Значение переменной-указателя можно присвоить только другой переменной-указателю такого же типа или метке переменной типа на которую он указывает.

Illegal return type or attribute

Прототип содержит в качестве возвращаемого недопустимый тип данных (такой как *CSTRING).

Illegal target for DO

Параметром оператора DO должно быть имя локальной подпрограммы ROUTINE).

Illegal target for GOTO

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

INCLUDE invalid, expected: %V

Параметр оператора INCLUDE должен быть правилам сформированной строкой. В частности, недопустимо преобразование типа, таким образом неправилен оператор INCLUDE('MyFile'&MyValue).

INCLUDE misplaced

Оператор INCLUDE должен следовать за разделителем строк или точкой с запятой (за которой могут идти несколько пробелов).

INCLUDE nested too deep

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

Incompatible assignment types

Попытка присвоения данных несовместимых типов.

Incorrect procedure profile

Попытка в качестве параметра-процедуры передать процедуру, не соответствующую прототипу.

Indices must be constant

Попытка сделать USE-переменную, которая представляет собой массив с переменными индексами.

Indistinguishable new prototype: %V

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

Integer expression expected

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

Invalid BREAK statement

Оператор BREAK, который пытается прервать несуществующий цикл или находится вне структуры LOOP или ACCEPT.

Invalid CYCLE statement

Оператор CYCLE который пытается начать новую итерацию несуществующего цикла или находится вне структуры LOOP или ACCEPT.

Invalid data declaration attribute

Атрибут, который не соответствует данному объявлению данных.

Invalid data type for value parameter

Тип данных указанные в прототипе в структуре MAP не может предаваться по значению и должен передаваться “адресом”. Например, чтобы передать параметр типа CSTRING в процедуру на языке Clarion он должен прототипироваться только как *CSTRING.

Invalid FILE attribute

Атрибут, который не соответствует объявлению файла.

Invalid first parameter of ADD

Первый параметр оператора ADD неверен.

Invalid first parameter of FREE

Первый параметр оператора FREE неверен.

Invalid first parameter of NEXT

Первый параметр оператора NEXT неверен.

Invalid first parameter of PUT

Первый параметр оператора PUT неверен.

Invalid GROUP/QUEUE/RECORD attribute

Атрибут не соответствует объявлению GROUP, QUEUE, или RECORD.

Invalid KEY/INDEX attribute

Атрибут не соответствует объявлению KEY или INDEX.

Invalid label

Метка, в которой содержатся символы отличные от букв, цифр, знака подчеркивания (_), и двоеточия (:), или начинающаяся не с буквы или символа подчеркивания.

Invalid LOOP variable

Попытка использовать недопустимый тип данных (DATE, TIME, STRING, и т.д.) в качестве переменной цикла.

Invalid MEMBER statement

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

Invalid method invocation syntax

Попытка использовать синтаксис {} при обращении к методу с применением объекта BLOB или FILE.

Invalid number

Требуется число, например в качестве коэффициента повторения в строковой константе ({}).

Invalid OMIT expression

Параметр оператора OMIT неверен.

Invalid parameters for attribute

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

Invalid picture token

Шаблон содержит несоответствующие символы.

Invalid printer control token

Оператор PRINT содержит символы управления принтером.

Invalid QUEUE/RECORD attribute

Атрибут, который не соответствует объявлению QUEUE или RECORD.

Invalid SIZE parameter

SIZE(ерунда+еще_что-то)

Invalid string (misused <...> or {...} )

В строковой константе содержится дна открывающая скобка (< или {) и нет соответствующей закрывающей (> или }). Если они являются частью строки, то такие символы должны представляться удвоением (<< или {{).

Invalid structure as first parameter

Первый параметр оператора неверен.

Invalid structure within property syntax

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

Invalid USE attribute parameter

Параметр не соответствует атрибуту USE.

Invalid use of PRIVATE data

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

Invalid use of PRIVATE procedure

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

Invalid variable data parameter type

При передаче параметров “по адресу”, нужно передавать данные того типа, который указан в прототипе в структуре MAP.

Invalid WINDOW control

Объект, которые не допустим в структуре WINDOW.

ISL error: %V

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

KEY must have components

Нельзя объявить ключ, не указав поля-компоненты, которые устанавливают порядок сортировки.

Label duplicated, second used: %V

Указанная мнемоническая метка соответствия объявлялась несколько раз в пределах одного и того же модуля и только последняя использована в списке мнемонических меток соответствия, допустимых для использования в исполняемых операторах в данном модуле. Исправляется с помощью третьего параметра атрибута USE.

Label in prototype not defined: %V

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

Label not defined: %V

Указанная метка не была предварительно объявлена.

Mis-placed string slice operator

Часть строки которая не является последним измерением массива. Например, MyStringArray[3:4,5].

Missing procedure definition: %V

Указанная процедура не представлена прототипом в структуре MAP.

Missing virtual function

Ошибка компилятора.

Must be dimensioned variable

Здесь должен указываться массив.

Must be field of a FILE or VIEW

Здесь должно быть поле из реального или виртуального файла. Например, NULL(LocalVariable) даст такое сообщение об ошибке.

Must be FILE or KEY

Параметр оператора JOIN не является меткой структуры FILE или KEY.

Must be reference variable

В DISPOSE можно использовать только переменную-указатель.

Must be variable

Здесь должна быть метка предварительно объявленной переменной.

Must have constant string parameter

Данные параметр должен быть строковой константой, но не переменной.

Must RETURN value from function

Если в структуре MAP объявлен прототип процедуры с возвращением значения, то ему должен соответствовать оператор RETURN, возвращающий значение.

Must specify DECIMAL size

В объявлении переменной типа DECIMAL или PDECIMAL должно быть указано максимальное число хранимых цифр.

Must specify identifier

Требуется, но отсутствует идентификатор.

Must specify print-structure

Оператором PRINT может печататься только структура входящая в структуру REPORT.

No matching prototype available

Попытка определить процедуру, для которой нет соответствующего прототипа в структуре MAP или CLASS.

Not valid inside structure

В структуре имеются данные несоответствующего типа.

OMIT cannot be nested

Оператор OMIT не может быть вложенным.

OMIT misplaced

Перед оператором OMIT может быть разделитель строк или точка с запятой (после которой возможно некоторое количество пробелов).

OMIT not terminated: %V

Указанный в операторе OMIT параметр не найден до конца исходного модуля.

Order is MENUBAR, TOOLBAR, Controls

Структура MENUBAR должна предшествовать структуре TOOLBAR, а структура TOOLBAR должна предшествовать объявлениям объектов в WINDOW или APPLICATION.

OVER must name variable

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

OVER must not be larger than target variable

Параметр атрибута OVER должен быть меткой ранее объявленной переменной, которая больше или равна по длине переменной, которая объявляется поверх нее.

OVER not allowed with STATIC or THREAD

Переменная, объявленная с атрибутом OVER не может иметь атрибут STATIC или THREAD (их должна иметь базовая переменная).

Parameter cannot be omitted

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

Parameter kind does not match

При передаче параметра “по адресу” должны передаваться данные того типа, который был указан в прототипе в структуре MAP.

Parameter must be picture

Здесь должен быть шаблон отображения.

Parameter must be procedure label

Здесь должно быть имя процедуры.

Parameter must be report DETAIL label

Оператором PRINT может печататься только структура DETAIL, входящая в структуру REPORT.

Parameters must have labels

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

Parameter type label ambiguous (CODE or DATA)

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

PROCEDURE cannot have return type

Если в структуре MAP в прототипе отсутствует возвращаемое значение, то этому прототипу должна соответствовать процедура.

Procedure doesn't belong to module: %V

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

Procedure in parent CLASS has VIRTUAL mismatch

Для виртуального метода требуется атрибут VIRTUAL в прототипах и в родительском классе и в порожденном классе.

Prototype is: %V

Попытка определить процедуру с неправильным прототипом.

QUEUE/RECORD not valid in GROUP

Структура GROUP не может содержать структуры QUEUE или RECORD.

Redefining system intrinsic: %V

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

Routine label duplicated

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

Routine not defined: %V

Обозначенная локальная подпрограмма (ROUTINE) не существует.

SECTION duplicated: %V

Указанная секция имеется во включаемом оператором INCLUDE файле в двух экземплярах.

SECTION not found: %V

Указанная секция во включаемом оператором INCLUDE файле отсутствует.

Statement label duplicated

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

Statement must have label

Оператор (такой как ROUTINE или PROCEDURE) должен иметь метку.

String not terminated

У строковой константы отсутствует заключительная кавычка (').

Subscript out of range

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

Too few indices

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

Too few parameters

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

Too many indices

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

Too many parameters

При обращении к процедуре или функции не может передаваться параметров больше чем указано в прототипе.

Unable to verify validity of OVER attribute

Предупреждение о том, что вы объявляете переменную поверх принимаемого параметра и во время выполнения типы данных могут не соответствовать.

Unknown attribute: %V

Указанный атрибут не принят в языке Clarion.

Unknown function label

Процедура не представлена прототипом в структуре MAP.

Unknown identifier

Имя предварительно не объявлено.

Unknown identifier: %V

Указанный идентификатор предварительно не объявлен.

Unknown key component: %V

Указанный компонент ключа не существует в структуре FILE.

Unknown procedure label

Процедура не представлена прототипом в структуре MAP.

UNTIL/WHILE illegal here

Попытка использовать UNTIL или WHILE для завершения уже завершенного цикла.

Value-parameter cannot be an array

Нельзя передавать массив как параметр-значение.

Value requires (more) subscripts

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

Variable expected

Здесь должна быть метка предварительно объявленной переменной.

Variable-size must be constant

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

VIRTUAL illegal outside of CLASS structure

Атрибут VIRTUAL можно использовать только в прототипах в структуре CLASS, но не в MAP.

Wrong number of parameters

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

Wrong number of subscripts

Попытка обратиться к многомерному массиву, не указав индексы по каждому измерению. Например:

MyShort SHORT,DIM(8,2) !Массив включающий два измерения

CODE

MyValue = MyShort[7] !Неправильное число индексов

Ошибки неопределенного характера

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

Inconsistent scanner initialization

Unknown operator

Unknown expression type

Unknown expression kind

Unknown variable context

Unknown parameter kind

Unknown assignment operator

Unknown variable type

Unknown case type

Unknown equate type

Unknown string kind

Unknown picture type

Unknown descriptor type

Unknown initializer type

Unknown designator kind

Unknown structure field

Unknown formal entity

Type descriptor not static

Unknown clear type

Unknown simple formal type

Out of attribute space

Unknown label/routine

Unknown special identifier

Value not static

Unknown static label

Unknown screen structure kind

Corrupt pragma string

Old symbol non-NIL

Not implemented yet

String not CCST

к оглавлению

Знаете ли Вы, что спецификация - это документ, описывающий соглашение между разработчиками и пользователями. Разработчик берется написать модуль, а пользователь соглашается не полагаться на знания о том, как именно этот модуль реализован, т.е. не предполагать ничего такого, что не было бы указано в спецификации. Такое соглашение позволяет разделить анализ реализации от собственно использования программы. Спецификации дают возможность создавать логические основы, позволяющие успешно "разделять и властвовать".

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution