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

Вниз

Как получить указатель на инкапсулирующий объект   Найти похожие ветки 

 
HRustBB   (2010-05-10 19:23) [0]

имеется вот такой набор классов

Citems = class
 id:integer;
 name:string;
public

private

end;

itemsarray = class
 items:array of Citems;
public
 
private

end;

dirCitems = class
 items:itemsarray;
public

private

end;


Возможно ли в Citems както получить указатель на объект класса dirCitems.


 
Плохиш ©   (2010-05-10 19:39) [1]


> Возможно ли в Citems както получить указатель на объект
> класса dirCitems.

Нет


 
Дмитрий Белькевич   (2010-05-10 19:45) [2]


> Возможно ли в Citems както получить указатель на объект
> класса dirCitems.


Добавить в Citems поле-указатель на dirCitems. dirCitems описать раньше Citems:

type dirCitems = class;

и, да, названия полей, классов сделать общепринятые. Каша глаза режет.


 
HRustBB   (2010-05-10 19:48) [3]


> и, да, названия полей, классов сделать общепринятые. Каша
> глаза режет.


виноват исправлюсь


 
Дмитрий Белькевич   (2010-05-10 20:01) [4]

Далее. При создании Citems"ов проставлять поле-указатель в Citems на Self dirCitems"ов. Скорее всего добираясь до поля Citems"а через метод itemsarray, который (метод) будет менять размерность items. Немного криво объяснил из-за названий. Но, надеюсь, будет ясно.

Но имхо немного дизайн объектов кривой. Хотя, возможно, ошибаюсь - случаи всякие бывают.

По названиям:

http://www.interface.ru/home.asp?artId=16369


 
Дмитрий Белькевич   (2010-05-10 20:02) [5]

>дизайн объектов

Читать: дизайн классов.


 
Юрий Зотов ©   (2010-05-10 22:12) [6]


> HRustBB   (10.05.10 19:23)  

Можно использовать коллекции, там ссылка на контейнер уже есть:

Citems = class(TCollectionItem)
id:integer;
name:string;
 ...
end;

dirCitems = class(TCollection)
...
end;

Как все это делается - см. здесь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=215



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

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

Наверх




Память: 0.48 MB
Время: 0.05 c
2-1268164730
Delphist
2010-03-09 22:58
2010.08.27
отладка в D2010


15-1270041267
12
2010-03-31 17:14
2010.08.27
Прикольный рудимент. D7.XP.


15-1274335111
AKE
2010-05-20 09:58
2010.08.27
Идея консольной операционки(или рабочего стола).


2-1275197810
Радость
2010-05-30 09:36
2010.08.27
Инструмент нужен


2-1271927010
Rail
2010-04-22 13:03
2010.08.27
меню