Форум: "Основная";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
ВнизУказатели и структуры ? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c