![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать тип поинтера
ljurik © (2004-10-21 12:55:00)Всем привет,
У меня возник такои вопросик
есть 2 моих типа оба type = record
создаются 2 массива этих типов array1: array of TMyType1 ...
во время работы програмы создаю скажем ListView.Items.Add.Data := Addr(Array 1[5]) и ListView.Items.Add.Data := Addr(Array 2[5]);
Хотелосьбы при DoubleClick узнать какой имено тип был выбран, можно конечно создавать объекты но может можно на прямую?
ljurik (2004-10-22 17:51:00) [1]Всем большое спасибо за ответы буду дальше рожать
ljurik (2004-10-22 17:51:00) [2]Удалено модератором
TUser (2004-10-21 14:18:00) [3]
> Как узнать тип поинтера
Я тут, кстати, подумал, что его тип - pointer
Anatoly Podgoretsky (2004-10-21 14:11:00) [4]Тег нужен
GuAV (2004-10-21 13:44:00) [5]1. Совершить попытку приведения типов - где-то возникнет ошибка, ее поймать except'ом - если поймалась, значит не то.
А если не поямалась значит или то или не то. Плохой способ.
Гаврила (2004-10-21 13:08:00) [6]У обоих записей первым полем - тип
при проверке читать только первое поле
TUser (2004-10-21 13:07:00) [7]Собственно напрямую узнать, какой тип данных выделен под некий указатель, конечно нельзя. Можно порекомендовать
1. Совершить попытку приведения типов - где-то возникнет ошибка, ее поймать except'ом - если поймалась, значит не то.
2. Наследовать все объекты от одного класса - а там прописать абстр. метод, который говорит, чо за тип (да собственно такой объект есть - TObject и метод там не абстрактный).