![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не работает следующее...
ProgramMaker_ © (2006-08-07 15:49:00)Вроде бы все правильно;
arr1: array of array of Word;
...
SetLength(arr1[i], temp) - здесь возникает ошибка
...
Плохиш (2006-08-08 10:57:00) [1]
> Ошибка оказалась совсем в другом
Главное искать там где светлее :-)
4yma (2006-08-08 06:49:00) [2]ProgramMaker_ (07.08.06 16:53) [11]
Не так
SetLength(arr1, N, M);
Выполняется для каждого индекса
не так SetLength(arr1[i], temp);, а вот так SetLength(arr1, i, temp);
clickmaker (2006-08-07 17:04:00) [3]
> Несовместимые типы...
да ну?
var
arr1: array of array of Word;
i, temp: integer;
temp := 12;
i := 1;
SetLength(arr1[i], temp);
выдал только варниг Variable 'arr1' might not have been initialized
ProgramMaker_ (2006-08-07 17:03:00) [4]ProgramMaker_ (07.08.06 17:00) [14]
Упс... Извените за беспокойство. Ошибка оказалась совсем в другом...
ProgramMaker_ (2006-08-07 17:00:00) [5]Плохиш © (07.08.06 16:57) [13]
Несовместимые типы...
Плохиш (2006-08-07 16:57:00) [6]Хм, и никто до сих пор не спросил, что же это за ошибка такая секретная возникает :-(
StriderMan (2006-08-07 16:54:00) [7]
> ArtemESC © (07.08.06 16:45) [9]
> Понятно, ошибка возникает на стадии компиляции (то есть
> не компилируется), а не во время выполнения...
Нет, такой код компилируется без ошибок.
ProgramMaker_ (2006-08-07 16:53:00) [8]4yma © (07.08.06 16:50) [10]
Не так
SetLength(arr1,N,M); arr1 - это будет прямоугольный массив
4yma (2006-08-07 16:50:00) [9]SetLength(arr1,N,M);
где Массив размером MxN.
наверное так....
ArtemESC (2006-08-07 16:45:00) [10]StriderMan © (07.08.06 16:38) [8]
>>да, только элемента с индексом 1 еще не существует в этот момент.
Понятно, ошибка возникает на стадии компиляции (то есть не компилируется), а не во время выполнения...
StriderMan (2006-08-07 16:38:00) [11]"Законы Паскаля" это на что-то из термодинамики. Увы... телепатор пока на стадии проектирования.
> arr1[i] - это же динамический массив, следуя объявлению...
да, только элемента с индексом 1 еще не существует в этот момент.
Сергей М. (2006-08-07 16:20:00) [12]
> arr1[i] - это же динамический массив, следуя объявлению
И как "динамический массив" соотносится с "законами Паскаля" ?
ProgramMaker_ (2006-08-07 16:17:00) [13]arr1[i] - это же динамический массив, следуя объявлению...
Так вообще не возможно сделать?
Сергей М. (2006-08-07 16:04:00) [14]
> по паскалевским законам
Что за законы такие ?!
clickmaker (2006-08-07 16:03:00) [15]
> ProgramMaker_ (07.08.06 16:02) [3]
в каком кодексе ты такой закон прочел?
ProgramMaker_ (2006-08-07 16:02:00) [16]сначала надо первое измерение создать
SetLength(arr1, len);
Да это понятно, но по паскалевским законам должно работать...
clickmaker (2006-08-07 15:54:00) [17]сначала надо первое измерение создать
SetLength(arr1, len);
Сергей М. (2006-08-07 15:53:00) [18]
> здесь возникает ошибка
Почему бы ей не возникнуть ?