Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

ссылка на разные типы объектов в TTreeView   Найти похожие ветки 

 
Денис М   (2003-10-27 05:13) [0]

Здравствуйте всем!

Пожалуйста помогите разобраться с сабжем. Как можно определить тип объекта, на который ссылается выбраный узел в дереве?


 
Романов Р.В.   (2003-10-27 06:56) [1]

Имеется ввиду определить тип на который ссылается поле Data?


 
Денис М   (2003-10-27 08:01) [2]

Ну да


 
KSergey   (2003-10-27 08:08) [3]

В общем случае это сделать нельзя. Т.к. в Data можно записать что угодно, в том числе, например, число 5, которое точно ни на что вразумительное ссылаться не будет.

Однако если аккуратно ограничить себя в запихивании чего попало и быть уверенным, что туда гаранированно запихивается указатель на какой-либо объект, например, то можно сделать так:

if Assigned(Node.Data) then
if TObject(Node.Data) is TPicture then ... // выполняем только если указзывает на TPicture


 
Романов Р.В.   (2003-10-27 08:18) [4]

Если поле Data содержит указатели на разные данные, то можно сделать так:
Поле дата указывает на Record, который содержит ссылку на данные и указывает тип данных.


 
Денис М   (2003-10-27 08:35) [5]

Спасибо всем, помогло.
Особенно
if Assigned(Node.Data) then
if TObject(Node.Data) is TPicture then



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

Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
3-40934
S.A.S.
2003-10-17 16:36
2003.11.13
DBExpress


6-41783
pupsik
2003-09-18 11:51
2003.11.13
Отладка Web приложения


1-41488
Centurion
2003-10-28 15:54
2003.11.13
AccessViolation


4-42313
Spider-81
2003-09-07 15:37
2003.11.13
Текст из Internet Explorer_Server


7-42143
webPauk
2003-09-03 14:20
2003.11.13
Блокировка клавы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский