![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
нужен совет по TreeNode [D7, XP]
IVAKA_27 © (2008-11-11 14:45:00)Здравствуйте!
Скажите пожалуйста, как хранить свойство DATA в файле.
Псмотрите пожалуйста код, где у меня неточности в выводе строки
procedure TForm1.Button1Click(Sender: TObject);
var MyData: string;
s: string;
begin
s:= dialogs.InputBox('Внимание!','Имя ветки','');
Mydata:= pchar(dialogs.InputBox('Внимание!','Данные ветки',''));
treeview1.Items.Add(nil, s).Data:= pchar(mydata);
end;
procedure TForm1.TreeView1Click(Sender: TObject);
var i: integer;
begin
for i:=0 to form1.TreeView1.Items.Count-1 do
if treeview1.Items[i].Selected = true then
Edit1.Text := pchar(TreeView1.Selected.Data);
end;
Поросенок Винни-Пух (2008-11-11 15:06:00) [21]Node.Data := StrAlloc(Length(Mydata)+1);
StrCopy(Node.Data, PChar(MyData));
Node.Data := StrAlloc(Length(Mydata));
StrCopy(Node.Data, PChar(MyData));
Поросенок Винни-Пух (2008-11-11 15:05:00) [22]тяжелый случай ....
IVAKA_27 (2008-11-11 15:02:00) [23]Почему? Что неправильно в коде?
Если явно указать
MyData:='Мои данные';
TreeView1.Items[0].Data := MyData;
..........
if (TreeView1.Items[0].Selected) = True
then Edit1.Text := String(TreeView1.Items[0].Data);
То работает нормально.
А мне на каждый индекс нужно разные значения записывать в свойство DATA
Сергей М. (2008-11-11 15:01:00) [24]Node.Data := StrAlloc(Length(Mydata)+1);
StrCopy(Node.Data, PChar(MyData));
в событии TreeView.OnDeletion обязательновызывать StrDispose(Node.Data);
Поросенок Винни-Пух (2008-11-11 14:56:00) [25]Майдата умирает сразу после выхода из Button1Click