![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический массив [D5, Win2k]
Dionnis © (2004-10-28 14:20:00)Здравствуйте уважаемые! У меня вопрос такой:
Объявляю тип - запись:
type TTreeInfo = record
ID : longint;
Name : string;
ParentID : longint;
Priority : longint;
Deleted : boolean;
Description : string;
end;
Затем в классе TTree пишу следующее:
type TTree = class
ReasonLaw : array of TTreeView;
.
.
.
procedure LoadFromDB(Arr: array of TTreeInfo);
end;
В методе класса TTree.LoadFromDB(...; Arr: array of TTreeInfo; ...);
Пытаюсь задать размер массива Arr: SetLength(Arr, <переменная>),
На что мне компилятор говорит о несовместимости типов. Т.е. массив Arr не хочет вомпринимать в процедуре SetLength.
Если же подставить вместо Arr Tree.ReasonLaw, то всё нормально, в чём дело?
Добрый дядька (2004-10-28 15:12:00) [1]Нет такого понятия "открытый массив".
Есть понятие "Открытый массив параметров".
Amoeba (2004-10-28 14:57:00) [2]
> А всё таки что значит "открытый" массив?
Смотри справку на Open arrays или читай учебник.
Dionnis (2004-10-28 14:51:00) [3]О! Заработало! Спасибо бальшое! А всё таки что значит "открытый" массив?
Dionnis (2004-10-28 14:51:00) [4]О! Заработало! Спасибо бальшое! А всё таки что значит "открытый" массив?
Dionnis (2004-10-28 14:50:00) [5]О! Заработало! Спасибо бальшое! А всё таки что значит "открытый" массив?
Silver Alex (2004-10-28 14:39:00) [6]делай так
type
TTreeInfo = record
ID : longint;
Name : string;
ParentID : longint;
Priority : longint;
Deleted : boolean;
Description : string;
end;
MyArray=array of TTreeInfo;
...
ReasonLaw : MyArray;
procedure LoadFromDB(Arr: MyArray);
Dionnis (2004-10-28 14:35:00) [7]> Массив Arr тут открытый, а не динамический.
В смысле открытый? Размер массива не задан изначально.
Anton_K (2004-10-28 14:31:00) [8]Массив Arr тут открытый, а не динамический.