Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизПРОБЛЕМА С ДВУМЕРНЫМ МАССИВОМ!!! Найти похожие ветки
← →
Maelstrom (2002-09-13 16:30) [0]Я пишу небольшую игрушку на Delphi и сталкнулся с такой вот странной проблемой:
Цель одной моей процедуры записывать в определенные области массива
(map[1..10,1..20] of byte)
числа 0,1,2 и по том орентируясь по этим числам
(0 -не занято, 1-занято...) рисовать на Canvas
определенные изображения. Так как Canvas "стирается" другими окнами, то надо было чтоб эти изабражения обновлялясь, естественно по координатам из этого массива.
Я запускаю программу и вижу что сначала изображения обновляются, но через несколько секунд перестают. Я подумал и решил проверить почему. Я присвоил map[1,1]:=2 а в таймере
написал:
"if map[1,1] <> 2 then ShowMessage("map[1,1]=" +IntToStr(map[1,1])); Timer.Enabled := False; "
Запустил программу. Сначало все было ОК, но как только я немножко перетащил свою программу за заголовок - сразу появилось сообщение "map[1,1] =0". Теперь я все понял : map[x,y] скидывала на ноль. Причем его скидывала на ноль и без перетаскивания формы(иногда).
В ЧЕМ ЖЕ ДЕЛО? ПОЧЕМУ map[x,y] = 0 вместо 2?
МОЖЕТ КТО СТАЛКИВАЛСЯ С ТАКОЙ ПРОБЛЕМОЙ?
Заранее благодарен!
← →
Сергей Чурсин (2002-09-13 16:52) [1]Давай код полностью. Я думаю, там где-то ошибка...
← →
a_n_t (2002-09-14 07:48) [2]Может ты Map описываешь не глобально.
← →
Maelstrom (2002-09-14 17:12) [3]А!!! Ой. Че-то меня глючит.!!!! Во псих !!
Сам же поставил в onPaint формы
//------------
for ym :=1 to 10 do
for xm := 1 to 20 do
map[ym,xm] := 0;
//----------
Во блин не заметил.
Я то думаю че при перетаскивании формы скидывает на ноль!
:)
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.008 c