Главная страница
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.026 c
1-1085582726
hamster
2004-05-26 18:45
2004.06.06
Bmp в DLL


1-1085055046
BFG9k
2004-05-20 16:10
2004.06.06
ValueListEditor2


14-1084452019
Dmitriy O.
2004-05-13 16:40
2004.06.06
А вот зацените анимацию на основе БД.


8-1080120677
Неуловимый Джо
2004-03-24 12:31
2004.06.06
BitBlt и прозрачность на W2k


14-1084621786
Manulo
2004-05-15 15:49
2004.06.06
Криптография