Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как получить указатель на инкапсулирующий объект


Автор: HRustBB 10.5.2010, 18:27
Имеется набор классов
Код

 Citems = class
  id:integer;
  name:string;
 public

 private

 end;


 itemsarray = class
  items:array of Citems;
 public
  
 private

 end;

 dirCitems = class
  items:itemsarray;
 public

 private

 end;


Возможно ли в Citems както получить указатель на объект класса dirCitems.

Автор: Frees 10.5.2010, 19:42
добавь в классе Citems соответствующее поле в котором храни ссылку на родительский dirCitems

Добавлено через 42 секунды
и лучше взять не array а TList

Автор: Демо 10.5.2010, 19:43
Цитата(HRustBB @  10.5.2010,  18:27 Найти цитируемый пост)
Возможно ли в Citems както получить указатель на объект класса dirCitems.


Откуда CItems может знать о своих потомках.

Автор: Frees 10.5.2010, 19:49
Код

type
 dirCitems = class;

 Citems = class
  parent:  TdirCitems;//заполняем в конструкторе или при добавлении в TdirCitems
  id:integer;
  name:string;
 public
    
 private

 end;


 itemsarray = class
  items:array of Citems;
 public
  
 private

 end;

 dirCitems = class
  items:itemsarray;
 public


ps itemsarray помоему лишний
pps имена классов начинаются с "T" TdirCitems

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)