Спасибо.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
aNode, bNode: TTreeNode;
begin
TreeView1.Items.BeginUpdate;
try
aNode := TreeView1.Selected;
bNode := aNode;
TreeView1.FullCollapse;
while Assigned(aNode) and Assigned(aNode.Parent) do
begin
aNode.Parent.Expand(False);
aNode := aNode.Parent;
end;
finally
TreeView1.Items.EndUpdate;
end;
if Assigned(bNode) then
begin
TreeView1.SetFocus;
bNode.Selected := True;
bNode.Focused := TRue;
end;
end;
Вот этот вариант работает, но только если в treenode item'ы статичные похоже, у меня они из БД тащятся и при таком коде ошибка:
Цитата:
Access violation at address 00437A6C in module 'Project.exe'. Read of address 00000004
|
Пока не пойму в чём дело и как исправить.