Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: 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 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
9-1149530476
-=OpeR=-
2006-06-05 22:01
2007.05.27
Помогите с алгоритм оптимального размещения


3-1173133101
Mr. D.
2007-03-06 01:18
2007.05.27
Политика безопасности в Firebird


1-1175536670
Dmitry_177
2007-04-02 21:57
2007.05.27
SetWaitableTimer, таймер не срабатывает несколько раз..


2-1178394905
RedBanner
2007-05-05 23:55
2007.05.27
компонент дерево


15-1177450374
SerJaNT
2007-04-25 01:32
2007.05.27
Вывести имена папок в таблице (PHP)