Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.033 c
1-1085296596
Natalia
2004-05-23 11:16
2004.06.06
Проблема при подключении С-ной DLL.


4-1083572914
demondar
2004-05-03 12:28
2004.06.06
COM-порт


3-1084430868
Курдль
2004-05-13 10:47
2004.06.06
Фундаментальный вопрос о правильном использовании транзакций.


1-1085154438
Lena19
2004-05-21 19:47
2004.06.06
bitmap в stringlist и обратно


4-1082639648
Talla2k
2004-04-22 17:14
2004.06.06
Проблемы с потоком





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский