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

Вниз

Как проверить, экземпляром какого класса является элемент TList?   Найти похожие ветки 

 
Aleksandr.   (2004-06-17 14:32) [0]

В экземпляре TList элементы могут быть разных пользовательских классов, наследников TObject. Как при обращении к элементу TList узнать, какого он класса?


 
default ©   (2004-06-17 14:35) [1]

через оператор is, ClassName...


 
Тимохов ©   (2004-06-17 14:38) [2]

l: tlist;
...
if tobject(l[i]) is TYuorClass then ...

ЗЫ надо быть уверенным, что в l лежат именно потомки tobject, а не ссылка например на записи. Иначе будет швах.


 
Романов Р.В. ©   (2004-06-17 14:38) [3]

F1 - TObject.ClassName, TObject.ClassType


 
icWasya ©   (2004-06-17 16:47) [4]

лучше используй TObjectList


 
Dolphin1   (2004-06-17 16:55) [5]

ClassName - возвращает строку с именм класса

а is - не очень хорошб лучше проверять на InheritsFrom()

И если в одном списке лежат обьекты разных пользовательских  классов то лучше чтобы все они наследовались от одного интерфейса


 
Тимохов ©   (2004-06-17 17:19) [6]


> наследовались

имхо реализовывали.


 
Aleksandr.   (2004-06-18 11:57) [7]

Спасибо за консультации. Тогда истчо вопрос: является ли для компилятора очевидным, что все объекты, объявленные как

type
 TObject1 = class
   A : integer;
   B : integer;
 ...
 end;

 TObject2 = class
   C : string;
   D : integer;
 ...
 end;

являются потомками TObject? Или их надо объявлять для этого как class (TObject)?


 
Amoeba ©   (2004-06-18 12:01) [8]

Да!!! Объявлять как class (TObject) необходимости нет.



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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
1-1087559470
Losik
2004-06-18 15:51
2004.07.04
после BlockRead динамические массивы теряют ссылку на память.


3-1086674008
SLP
2004-06-08 09:53
2004.07.04
Поле Identity


14-1087472039
souLLamer
2004-06-17 15:33
2004.07.04
Please дайте живой линк на TAdvStringGrid 2.7.0.0


3-1086758699
MVA
2004-06-09 09:24
2004.07.04
SQL


4-1085250854
К.К.С.
2004-05-22 22:34
2004.07.04
Изменение аттрибутов папки и её содержимого