Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Указатели и структуры ?   Найти похожие ветки 

 
BelovV   (2002-12-29 17:37) [0]

Такой вот вопрос

есть две структуры

CMyList = record
Names: String;
ID: Integer;
end;

CMyProj = record
Types: String;
ProjID: Integer;
...
end;

var
MyList: ^CMyList;
MyProj: ^CMyProj;

Динамически стороится дерево
У каждого элемента есть св-во Data (Pointer)
В зависимости от определенных условий я "присваиваю" св-ву Data тот или иной тип рекорда.


А как в дальнейшем мне определить на какую структуру у меня ссылается указатель Node.Items.Data ?


 
MBo ©   (2002-12-29 17:40) [1]

проще всего (в даннном случае) сделать в записи поле, характериэующее тип записи


 
vuk ©   (2002-12-29 17:40) [2]

Можно информационное поле завести и в зависимости от его значения интерпретировать указатель должным образом. А можно сделать классы вместо записей и использовать оператор is.


 
BelovV   (2002-12-29 17:57) [3]

Ок.
А если я присваиваю значение
TreeView1.Items.Items[i].Data:=@MyList;
т.е. в Data я храню адрес моей переннной

в дальнейшем я проверяю
if TreeView1.Selected.Data = @MyList then
begin
???? А как теперь мне обратиться к полям моей структуры
end;


 
MBo ©   (2002-12-29 18:11) [4]

>BelovV
CMyList(TreeView1.Selected.Data )^.Names.....
Однако это нехорошо. Обрати внимание на последнее предложение vuk-а - это предоставит неплохой контроль над типами переменных, раз ты сам об этом не позаботился


 
BelovV   (2002-12-29 18:27) [5]

Спасибо.
Скорее всего я и последую совету vuk-a.
Только правда придется переписать половину программы. :-((



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

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-37327
Слава
2002-12-23 21:10
2003.01.13
Мастера! Помогите!


6-37253
kalishenko stas
2002-11-13 20:40
2003.01.13
Ошибка


1-37092
NorthMan
2003-01-03 12:58
2003.01.13
Народ, подскажите. Чтобы на кнопочках диалогов


6-37232
Dima_S
2002-11-12 04:08
2003.01.13
Получение списка файлов с Ftp.


14-37356
romychk
2002-12-24 12:08
2003.01.13
Ресурсы в файле