![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Length function [D5, Win2k]
WCM © (2003-01-12 13:27:00)Господа! Есть такая проблемка:
При компиляции такого кода
j := Length(k_cel);
возникает ошибка Missing operation or semicolon
При создании абсолютно нового модуля компиляция проходит нормально...
k_cel - заранее определеный динамический массив.
В чем проблема?
Думкин (2003-01-13 06:30:00) [1]
> WCM (12.01.03 15:38)
> Дык ничем не отличается, а не работает и так и так.
> i := Length(d); <-- никакакой ошибки!!! Ничем не отличается.
По-русски же сказали - в первоначальном тексте недопустимые символы - ты их не видишь, но они есть.
Может концовка строк не та, может еще чего.
Yuri-7 (2003-01-12 17:42:00) [2]function GetLength(k_cel: array of integer) : integer;
begin
Result := High(k_cel) - Low(k_cel) + 1;
end;
WCM (2003-01-12 15:38:00) [3]Дык ничем не отличается, а не работает и так и так.
В другом модуле работает такая простенькая процедура:
procedure test;
var i: integer;
d: array of integer;
begin
i := 10;
SetLength(d,i);
i := Length(d); <-- никакакой ошибки!!! Ничем не отличается.
end;
end.
Anatoly Podgoretsky (2003-01-12 14:55:00) [4]Ты же пишешь, что при переносе дтого кода в другой модуль у тебя все работает, значит в этом коде могут быть недопустимые символы.
Правда весьма сомнительна ценность этого кода, чем отличается N := GetLength(arr) от N := Length(arr), кроме любви к искуству и потери производительности.
Соотри полность все эти строки и повторно набей.
WCM (2003-01-12 14:43:00) [5]function GetLength(k_cel: array of integer) : integer;
begin
Result := Length(k_cel);
end;
Вот тут ошибка. А что значит старый модуль?
Anatoly Podgoretsky (2003-01-12 13:31:00) [6]Проблема в старом модуле, возможно недопустимые символы, при том не обязательно в этой строке.