![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Указатели : 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]Какую ошибку-то?