Вниз
Скачать: CL | DM;

Как узнать тип поинтера   Найти похожие ветки 

 
ljurik ©   (2004-10-21 12:55) [0]

Всем привет,
 У меня возник такои вопросик
есть 2 моих типа оба type = record
создаются 2 массива этих типов array1: array of TMyType1 ...
во время работы програмы создаю скажем ListView.Items.Add.Data := Addr(Array1[5]) и ListView.Items.Add.Data := Addr(Array2[5]);
Хотелосьбы при DoubleClick узнать какой имено тип был выбран, можно конечно создавать объекты но может можно на прямую?


 
TUser ©   (2004-10-21 13:07) [1]

Собственно напрямую узнать, какой тип данных выделен под некий указатель, конечно нельзя. Можно порекомендовать
1. Совершить попытку приведения типов - где-то возникнет ошибка, ее поймать except"ом - если поймалась, значит не то.
2. Наследовать все объекты от одного класса - а там прописать абстр. метод, который говорит, чо за тип (да собственно такой объект есть - TObject и метод там не абстрактный).


 
Гаврила ©   (2004-10-21 13:08) [2]

У обоих записей первым полем - тип
при проверке читать только первое поле


 
GuAV ©   (2004-10-21 13:44) [3]

1. Совершить попытку приведения типов - где-то возникнет ошибка, ее поймать except"ом - если поймалась, значит не то.
А если не поямалась значит или то или не то. Плохой способ.


 
Anatoly Podgoretsky ©   (2004-10-21 14:11) [4]

Тег нужен


 
TUser ©   (2004-10-21 14:18) [5]


> Как узнать тип поинтера

Я тут, кстати, подумал, что его тип - pointer


 
ljurik ©   (2004-10-22 17:51) [6]

Всем большое спасибо за ответы буду дальше рожать


 
ljurik ©   (2004-10-22 17:51) [7]

Удалено модератором



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
3-1097054853
GlaDimoN
2004-10-06 13:27
2004.11.07
создание отчета


1-1098353405
digger
2004-10-21 14:10
2004.11.07
Описание объектной модели Object Pascal


14-1097891331
Думкин
2004-10-16 05:48
2004.11.07
С днем рождения! 16 октября - точно


1-1098352603
Ramon
2004-10-21 13:56
2004.11.07
Просканить папку


6-1093713135
RoLeX2004
2004-08-28 21:12
2004.11.07
Ошибка при отправке e-mail!




   Наверх