Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизКак проверить, экземпляром какого класса является элемент 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c