Главная страница
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.175 c
2-1178727526
Dmitry_177
2007-05-09 20:18
2007.05.27
Ограниченное количество цифр в Edit при вставлении


2-1177753484
Konus
2007-04-28 13:44
2007.05.27
кодировка DOS


6-1161035477
kay
2006-10-17 01:51
2007.05.27
Как задать gateway сетевому интерфейсу?


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


3-1173786756
salex
2007-03-13 14:52
2007.05.27
TClientDataSet и освобождение памяти