Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Доступ из класса в класс...   Найти похожие ветки 

 
Bes ©   (2005-01-24 04:24) [0]

Есть двай класса, один базовый (в нем хранятся данные об объекте)

TItemClass=class
...
end;


А второй, наследуемый от списка где каждый элемент есть TItemClass (т.е. список объектов класса TItemClass)

TItemList=class(Tlist)
....
end;


так вот... описание этих двух классов происходит в разных модулях: ItemClassUnit, ItemListClassUnit

В модуле ItemListClassUnit в список uses (что в interface) добавляю ItemClassUnit. Все вроде и нормально, но мне понадобилось добавление в класс TitemClass свойства Parent,
которое бы возвращала мне тип TItemList (всмысле указатель)
на родителя.

вприницпе ничего трудного, передать коструктору указатель на класс TItemListClass и все,но чтобы хранить в структуре указатель (свойства) Parent мне надо добавлять в список Uses уже в модуле ItemClassUnit модуль ItemClassListUnit... и на данное действо компилятор ругается:
[Fatal Error] ItemClassListUnit.pas(4): Circular unit reference to "ItemClassListUnit"


я понимаю почему это происходит... но все таки вопрос, как мне сделать корректное добавление свойства Parent в Класс TItemClass..

Спасибо!


 
Digitman ©   (2005-01-24 08:31) [1]

вариантов как минимум три :

1. Перенести декларацию и реализацию обоих классов в единый юнит - проблема рассосется сама собой

2. Объявить св-во TItemClass.Parent как TObject, а после прочтения этого св-ва приводить его к типу TItemList

3. Не заниматься изобретением велосипедов, а использовать в кач-ве предков готовые классы TCollectionItem и TCollection



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

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

Наверх




Память: 0.47 MB
Время: 0.059 c
4-1103098515
pavel_guzhanov
2004-12-15 11:15
2005.02.06
Остановка процесса на удаленном компьютере


14-1106048822
Vasya.ru
2005-01-18 14:47
2005.02.06
коннектится все - время кто - то на 445 порт


6-1101283152
Донской
2004-11-24 10:59
2005.02.06
соединение с mail.ru


14-1105959012
pasha_golub
2005-01-17 13:50
2005.02.06
Диеты или способы борьбы с излишним весом


1-1106572103
Wolffgang
2005-01-24 16:08
2005.02.06
circular unit reference