Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.052 c
4-1233489021
Vemer
2009-02-01 14:50
2010.08.27
Рисунок не хочет прикреплятся к Popup Меню.


15-1269981002
Юрий
2010-03-31 00:30
2010.08.27
С днем рождения ! 31 марта 2010 среда


2-1275097955
DROWSY
2010-05-29 05:52
2010.08.27
"Логический" тип данных Firebird 1.5 в компонентах.


2-1266903094
crank
2010-02-23 08:31
2010.08.27
Нижний индекс в RichEdit


15-1273069213
zedart
2010-05-05 18:20
2010.08.27
описание перменных




   Наверх