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