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

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

Указатели : if (Units [i]^.X>=X) выдает ошибку [D6, Win95/98]


greenrul ©   (2002-10-11 19:50:00) 

Есть тип TUnit, и есть целое TUnit.X. Есть массив указателей units:array[1..10] of ^TUnit, и есть процедура, в которую передается переменная X, и внутри ее идет цикл:
if (Units[i]^.X>=X) then ...


Так вот, почему эта фраза вызывает возмущение Delphi?


Программируюна дельфи около года, но до этого эту тему обходил стороной...


greenrul   (2002-10-12 16:36:00) [1]

а ее как вообще выделять?

и разве в этом ошибка?
a:TUnit;
...
Unitz[total_units]:=@self;
...
SelectedUnit:=Unitz[i]^;


хм   (2002-10-11 21:50:00) [2]

1. выделена память на указатели (т.е new(units[1])?)

p.s лучше использовать не unit:^TUnit , а определить тип указателя type pUnit=^tUnit
ну и переменные объявлять как var unit:punit;


Kopetr   (2002-10-11 19:54:00) [3]

Какую ошибку-то?


Наверх

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