Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.033 c
1-1087244316
DelPHist
2004-06-15 00:18
2004.07.04
Разделение программы на модули


8-1080635920
Pavlik_Morozov
2004-03-30 12:38
2004.07.04
Движение мыши => трёхмерные вращения


4-1085080705
RyDmi
2004-05-20 23:18
2004.07.04
Эмуляция нажатия клавиш


4-1085633111
Le!
2004-05-27 08:45
2004.07.04
Ctrl + alt + del поl XP


4-1085207955
Alex
2004-05-22 10:39
2004.07.04
использую ShellExecute мне нужно последовательное выполнение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский