Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Влияние позиции переменной в разделе var на работу программы   Найти похожие ветки 

 
Pasha L ©   (2007-01-13 21:53) [0]

Здравствуйте. Вчера я написал о странной ошибке, которая вылезала до тез пор пока я не отрубил оптимизатор. Затем стала появляться ещё одна ошибка. Тоже немного странная :) . циклы
for y:=0 to y2 do
 for x:=0 to x2 do

выполнялись, но на какой-то стадии x2 принимала какое-то черт знает откуда взятое значение... x2 я нигде не менял и это точно. И вот, получил доказательство своей правоте: в разделе var, в ряду объявления переменных типа integer я взял, и переместил x2 и y2 с последних позиций на 3-ю и 4-ю. Ошибка не выползает. Я проверил несколько раз: поперемещал туда-сюда. По-моему, это похоже на какую-то глупость, но то, вылезет ошибка или нет, зависит от позиции переменной в варе. В чем дело, кто знает?


 
antonn ©   (2007-01-13 21:56) [1]

в каком именно "варе"? весь код дай


 
Zeqfreed ©   (2007-01-13 22:04) [2]

Телепатирую: использовал значения счетчиков за пределами циклов?


 
ors_archangel ©   (2007-01-13 22:07) [3]


> . Затем стала появляться ещё одна ошибка. Тоже немного странная

И что это за новая ошибка? В [0] ты опять описал старую. Ты уверен, что переменные у тебя всегда var"овые? А вообще, зачем тебе пускать ограничения цикла по ссылке, ты их меняешь? Где?


 
Pasha L ©   (2007-01-13 22:24) [4]

antonn ©   (13.01.07 21:56) [1]
всё это происходит в процедуре. Вар в той же процедуре. Весь код?... он очень большой... Я думаю, что тут не в коде самом дело. Мне кажется, что такого рода проблема как бы хрестоматийная, потому что редкая и очень странная (как мне кажется). Могу скинуть весь проэкт :)


 
Sha ©   (2007-01-13 22:33) [5]

> Pasha L ©   (13.01.07 21:53)
> это похоже на какую-то глупость,

Это похоже на выход за границу массива
Опцию компилятора "Range checking" включи

> но то, вылезет ошибка или нет, зависит от позиции переменной в варе

Ты просто не всегда замечаешь ошибку


 
Pasha L ©   (2007-01-13 22:34) [6]

Так, уважаемые ребята. Я понял в чем дело. В циклах я изменял значения переменных находящихся по адресам несуществующих элементов массива. В этом было дело.


 
Sha ©   (2007-01-13 22:37) [7]

Поздравляю



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
6-1156254756
Shart
2006-08-22 17:52
2007.01.28
Как забиндить TServerSocket на определённый IP?


15-1168283686
Prohodil Mimo
2007-01-08 22:14
2007.01.28
что такое CD/MD управление


2-1168548362
greengeneral
2007-01-11 23:46
2007.01.28
Как мне поменять кодировку


2-1168617866
Apachi
2007-01-12 19:04
2007.01.28
Работа с командной строкой


15-1167474376
IMHO
2006-12-30 13:26
2007.01.28
MS Word и кубковые сетки