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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
4-1083248401
CrazyDog
2004-04-29 18:20
2004.06.06
текст в чужом окне, но не Edit и не EM_GETSEL


3-1084647141
download
2004-05-15 22:52
2004.06.06
Редактирование БД после сортировки


9-1076332994
nexxiss
2004-02-09 16:23
2004.06.06
D3D, 2D графика


1-1084917196
shek
2004-05-19 01:53
2004.06.06
Получить значение атрибута в XML


9-1076264493
ArchangelM
2004-02-08 21:21
2004.06.06
Анимация!!