Delphi: сообщения компилятора. Часть 4 (warning, value, function) |
Автор megabax | ||
21.06.2011 г. | ||
Delphi: сообщения компилятора. Часть 4 (warning, value, function)Expression expected. В этом
месте программы должно стоять выражение. Expression too complicated.
Выражение излишне сложно для компиляции. For loop
control variable must be simple local variable. Параметр цикла должен быть простой
локальной (описанной в этом же блоке)
переменной. Illegal type in
Read/Readln (Write/Writeln) statement. Элемент запрещенного типа в списке ввода/вывода.
Invalid function result type. Недопустимый тип результата функции Missing parameter type. He указан тип формального параметра-значения или параметра процедурного типа. Ordinal type required. Требуется порядковый тип (например, в индексе). Slice standard
function only allowed as open array argument. Функцию Slice можно использовать лишь как
фактический параметр Statement not
allowed in interface part. Предложения
в секции интерфейса программного модуля
недопустимы. Syntax error in
real number. Синтаксическая
ошибка в записи числа вещственного типа. Unit name mismatch: <Имя>. Имя
модуля ошибочно. Рассмотрим так же некоторые диагностические сообщения компилятора, не ошибки, а предупреждения (warning). Хотя при выдаче подобных сообщений компиляция все же произойдет, игнорировать такие предупреждения все таки не стоит, так как подобные "сопли" очень часто становятся причиной других ошибок, которые не выявляются в ходе компиляции, и, которые потом довольно трудно "отглючивать". И так, вот эти сообщения: Return value of function <Имя> might be undefined. В теле функции нет присваивания ее результата. Например, вы объявили функцию, а результат возвратить забыли. Это либо явная ошибка, либо вы сначала объявили подпрограмму как функцию, а потом передумали и сделали ее как процедуру, но поленились переписать function на procedure. В последнем случае не ошибка, но признак дурного тона в программировании. В будущем такая вредная привычка как раз и приводит к трудно исправляемым глюкам. Например, вы хотите написать функцию, которая возвращает удвоенный аргумент, если заданное число больше десяти либо сам аргумент в противном случае. Но когда вы писали эти строки, вам в аську постучалась сексапильная блондинка, вы забыли что писали, а потом продолжили, оставив функцию недописанной:
Variable <Имя> might not have been initialized. Указывает имя переменой, которой не задали значения. For-Loop
variable <Имя>
may be undefined after loop.
Попытка
использования значения параметра For-цикла
после завершения этого цикла. Text after final "END.' ignored by compiler. Текст, идущий за конечной строкой модуля, игнорируется компилятором. Variable <Имя> is declared but never used in <Имя блока>. Обращает внимание на переменную <Имя>, описанную, но не нашедшую применения. Например, вот так*: Value assigned to <Имя> never used. Хотя бы одно значение переменной <Имя> никак не использовано.
Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями программного продукта "Delphi", авторское право на который принадлежит "Borland Software Corporation".
|
||
Последнее обновление ( 05.02.2013 г. ) |