Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
ВнизДоступ из класса в класс... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c