Вниз
Скачать: CL | DM;

Определение типа объекта!   Найти похожие ветки 

← →
vixic ©   (2002-10-31 10:41) [0]

Вот какой вопросик :o)
Есть List:TList(список), внём хранятся компоненты(ссылки на компоненты) разных типов, дак вот, как узнать к какому типу пренадлежит компонент сслка которого находится List["номер"]?

СПАСИБО! :o)


← →
Внук ©   (2002-10-31 10:43) [1]

Ну, типа ClassName, что ли?


← →
Skier ©   (2002-10-31 10:43) [2]

>vixic
if TObject(List["номер"]) is TSomeClass then ...


← →
vixic ©   (2002-10-31 10:54) [3]

>Skier
НЕРАБОТАЕТ :o(


← →
Skier ©   (2002-10-31 10:58) [4]

>vixic
То есть ?!


← →
VaS ©   (2002-10-31 11:02) [5]

if TObject(List[54]) is TSomeClass then ...
Note: TSomeClass is your really class.


← →
vixic ©   (2002-10-31 11:06) [6]

>Skier
Заработало
if TObject(List["номер"] ^) is TSomeClass then ...

Следующая проблема теперь нужно определить есть ли какое либо свойство у этого объекта?


← →
Skier ©   (2002-10-31 11:09) [7]

>vixic
см. модуль TypInfo.pas там всё есть...


← →
Skier ©   (2002-10-31 11:12) [8]

>VaS
Note: TSomeClass is your real class.


← →
Zemal ©   (2002-10-31 11:19) [9]

>> Vixic
Ну ты и чудо! :) Программируешь в слепую! :) Сначала создаём проблемы, а потом скрепя зубами их преодалеваем! :) Молодчина! :)
Есть один вариант решения твоих проблем - интерфейсы. Почитай надосуге :). Только тебе придётся писать интерфейс к каждому используемому классу :)... гы-гы... это конечно неочень удобно, но другого пути я невижу... дело всё в том, что объекты у тебя в "листе" неумеют сообщать о своих свойствах :(... можешь (ещё вариант) дописывать, к каждому используемому классу, процедуру, которая возвращает список его свойст (но это маразм), а если они имеют одного предка, то сделать такую процедуру абстрактной и перекрывать в потомках... хе-хе... что-то я в дебри с утра лезу! :) Удачи! И смотри не споткнись... палочку купи :).


← →
KSergey ©   (2002-10-31 13:31) [10]

Для списка объектов лучше использовать TObjectList. Там несколько полезных, как модно говорить, фич на сей счет.
А дял опереления есть/нет свойства? А надо ли?! Может иначе сделать, и Zemal © (31.10.02 11:19) прав про общего предка? Ну либо смотрите Published свойства и зафиг они нужны.



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

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



Память: 0.47 MB
Время: 0.01 c
14-34162
Nimda
2002-10-24 16:08
2002.11.11
Переходник


7-34272
Net_Angel
2002-09-10 13:55
2002.11.11
Как получить информацию о температуре процессора


14-34236
777
2002-10-23 00:47
2002.11.11
просто вдруг интересно стало


3-33877
irmantukas
2002-10-22 13:29
2002.11.11
Фильтр


14-34184
kalishenko
2002-10-21 19:10
2002.11.11
Help me!




   Наверх