Вниз
Скачать: CL | DM;

Классы   Найти похожие ветки 

 
Belorus ©   (2007-05-01 19:58) [0]

Можно ли сделать нечто в этом роде

type TSomeItem = class
    .....
    .....
    FParent : ^TItemList;
    end;
type TItemList = class
    FItems : array of TSomeItem;
    end;



Мне в дочернем классе нужно как нибудь узнать "предка" этого экземпляра.
То есть по идее при создании объекта класса TSomeItem и добвалении его я бы присваивал полю FParent значение экземпляра TItemList который создал этот объект и всё было бы отлично.

Но это вариант  не подходит т.к делфи не позволяет зациклить так классы.
Что делать ?


 
MBo ©   (2007-05-01 20:10) [1]

type
TItemList = class;// а полное объявление сделаешь позже

TSomeItem = class
   .....
   .....
   FParent : TItemList;
 end;


 
Anatoly Podgoretsky ©   (2007-05-01 23:52) [2]

> MBo  (01.05.2007 20:10:01)  [1]

Еще дальше, эта строчка лишняя, поскольку владельцем является TItemList


 
Сергей М. ©   (2007-05-02 09:09) [3]


> Belorus ©   (01.05.07 19:58)


А может быть и нет повода изобретать велосипед с "родительско-дочерними" отношениями объектов ?

Есть же TComponent, TCollection/TCollectionItem - в этих известных классах поддержка таких отношений уже реализована, достаточно просто унаследовать от них свои классы..


 
Belorus ©   (2007-05-06 19:19) [4]

Спасибо Сергей.М .
Реализовал через коллекции..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.038 c
1-1175261360
DelphiLexx
2007-03-30 17:29
2007.05.27
Как запретить эффект Drag&Drop


2-1178554030
Первакласник Вася
2007-05-07 20:07
2007.05.27
Таймер


3-1173291288
Makhanev Alexander
2007-03-07 21:14
2007.05.27
Прогарммно создать MS SQL базу из sql скрипта


2-1178623839
JajaBinks
2007-05-08 15:30
2007.05.27
open dealog и listbox


2-1178461787
I-New
2007-05-06 18:29
2007.05.27
GIF в GraphicEx




   Наверх