Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ПРОБЛЕМА С ДВУМЕРНЫМ МАССИВОМ!!! [Delphi]


Maelstrom ©   (2002-09-13 16:30:00) 

Я пишу небольшую игрушку на 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?
МОЖЕТ КТО СТАЛКИВАЛСЯ С ТАКОЙ ПРОБЛЕМОЙ?
Заранее благодарен!


Maelstrom   (2002-09-14 17:12:00) [1]

А!!! Ой. Че-то меня глючит.!!!! Во псих !!
Сам же поставил в onPaint формы
//------------
for ym :=1 to 10 do
for xm := 1 to 20 do
map[ym,xm] := 0;

//----------
Во блин не заметил.
Я то думаю че при перетаскивании формы скидывает на ноль!
:)


a_n_t   (2002-09-14 07:48:00) [2]

Может ты Map описываешь не глобально.


Сергей Чурсин   (2002-09-13 16:52:00) [3]

Давай код полностью. Я думаю, там где-то ошибка...


Наверх

Титульная страница Поиск, карта сайта Написать письмо