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

Вниз

Не могу получить значение   Найти похожие ветки 

 
ruslan_as   (2010-06-11 09:37) [0]

Заполняю TreeView1:

procedure TfmNSIPodrazd.Button1Click(Sender: TObject);
var Node, NodeChild :TTreeNode;
begin
TreeView1.Items.Clear;
DM.PODRAZD.First;

while not DM.PODRAZD.Eof do
begin
Node:=TreeView1.Items.AddObject(nil,  DM.PODRAZDN_PD.AsString, Pointer(DM.PODRAZDK_PD.AsString));
if DM._podrazd.RecordCount>0
then begin
 while not DM._podrazd.Eof do
 begin
   TreeView1.Items.AddChildObject(Node,DM._podrazdN_PD.AsString,Pointer(DM._podrazd K_PD.AsString));//Добавляет ветку
   DM._podrazd.Next;
 end;
end;

DM.PODRAZD.Next;
end;//while not DM.PODRAZD.Eof do

end;

Дерево создалось.
Пытаюсь  его получить Data в событии Expanded

procedure TfmNSIPodrazd.TreeView1Expanded(Sender: TObject;
begin
HSShowMessage(IntToStr(Integer(TreeView1.Items.Item[1].Data )));
end;
end;


 
ruslan_as   (2010-06-11 09:38) [1]

Получаю какое-то левое значение (большое число)
Где я  ошибаюсь?


 
MBo ©   (2010-06-11 09:45) [2]

...Pointer(DM.PODRAZDK_PD.AsString));
указывает куда попало (на временные строки, локальные в данной процедуре). Под каждую строку нужно выделять память.

(IntToStr(Integer(TreeView1.Items.Item[1].Data )));
Если предполагалось хранить строки, то почему интерпретируется как Integer?


 
ruslan_as   (2010-06-11 09:52) [3]

Виноват. Не доглядел!
MBo Спасибо!
Вопрос закрыт.



Страницы: 1 вся ветка

Текущий архив: 2010.09.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1276150830
gog
2010-06-10 10:20
2010.09.05
Поблема инстоляции/запуска


15-1276115374
Юрий
2010-06-10 00:29
2010.09.05
С днем рождения ! 10 июня 2010 четверг


2-1275945627
akosh12345
2010-06-08 01:20
2010.09.05
Удаление без рекурсии


15-1273206482
12
2010-05-07 08:28
2010.09.05
С днем связи!


15-1276194359
zlodey
2010-06-10 22:25
2010.09.05
неопределенное DNS-имя