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

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

Динамический массив [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 тут открытый, а не динамический.


Наверх

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