Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизTreeNode Найти похожие ветки
← →
DimonNew © (2004-05-21 16:10) [0]Привет, подскажите пож-та. Есть следующий код:
Node:TTreeView;
NewNode,NodePar:TTreeNode;
MyRecPtr:PInteger;
процедура1()
MyRecPtr^:=10;
NewNode:=Node.AddObject(nil,"test1",MyRecPtr);
процедура2(Node,NewNode)
процедура2(Node,NodePar)
MyRecPtr^:=20;
NewNode:=Node.AddChildObject(NodePar,"test.test",MyRecPtr);
Далее в событии TreeView.OnClick:
label2.Caption:=IntToStr(PInteger(trvTurs.Selected.Data)^); - это для примера.
Проблема - при переходе с узла на узел, отображается данные, которые я записал в Data, только первого узла, в главном дереве, и первого узла поддерева при просмотре любого узла.
Какую я допустил ошибку.
← →
DimonNew © (2004-05-21 16:16) [1]Прошу прощения
Node:TTreeNodes;
← →
inic © (2004-05-21 16:24) [2]Лень залезать в Delphi, но ты попробуй сделать
NewNode локальной переменной в каждой из процедур
← →
DimonNew © (2004-05-21 16:29) [3]NewNode,NodePar:TTreeNode; MyRecPtr:PInteger;
Они у меня локальные, определены в обеих процедурах, как докальные переменные.
← →
DimonNew © (2004-05-21 16:32) [4]Node и NodePar - передаются как параметры процедуры, и NodePar, не локальный параметр(опять ошибся).
← →
Clickmaker © (2004-05-21 16:32) [5]Память выделяешь под каждый MyRecPtr ?
Кстати, если достаточно integer, то проще так
var Data: integer;
Data := 10;
NewNode:=Node.AddObject(nil,"test1",Pointer(Data));
label2.Caption:=IntToStr(Integer(trvTurs.Selected.Data));
← →
inic © (2004-05-21 16:46) [6]Не знаю сократил ты для наглядности код или просто забыл это сделать:
перед MyRecPtr^:= ...
поставить New(MyRecPtr),
ну и конечно при удалении Node нужно
Dispose(PInteger(Node.Data))
← →
DimonNew © (2004-05-21 17:12) [7]Спасибо за помощь. Заработал вариант Clickmaker и мой, т.к. памать, да я выделяю не под каждый MyRecPtr перед циклом.Я понял свою ошибку. Но вариант Clickmaker мне понравился больше, спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c