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

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

Размер массива [D6, Win2k]


anod ©   (2002-03-29 00:22:00) 

Пытаюсь динамически создавать массив.
var d: array of string; i,n:integer;
...
n:=3;
SetLength(s,n);
for i:= 1 to n do d[i]:=....
Примерно так. Не работает. Может я не ту функцию (SetLength) использую? или что-то ещё надо задать? Если пишу d:array [1..3] of string, то все работает.


anod   (2002-03-29 01:04:00) [1]

Да, познавато уже. :)


lipskiy   (2002-03-29 01:02:00) [2]

popUpMenu1.Items.Add(dirmenu[i]);
А кто dirmenu[i] создавать будет?
Добавляешь несозданный объект.


anod   (2002-03-29 00:54:00) [3]

А ещё и вот здеся ругается. Я так, наугад написал.
var i:integer; dirmenu: array of TMenuItem;
begin
SetLength(dirmenu,n);
for i:= 0 to n-1 do
begin
popUpMenu1.Items.Add(dirmenu[i]);
dirmenu[i].Caption:=IntToStr(i)+" - "+d[i];
if d[i]="Empty" then dirmenu[i].enabled:=false
else dirmenu[i].enabled:=true;
end;


lipskiy   (2002-03-29 00:49:00) [4]

Надо делать
for i:= 0to n-1do d[i]:=....
Динамические массивы нумеруются только с нуля и никак более.


Наверх

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