Показать сообщение отдельно
  #3  
Старый 25.08.2009, 12:29
Qwed86 Qwed86 вне форума
Новичок
 
Регистрация: 12.09.2008
Сообщения: 66
Репутация: 10
По умолчанию

Спасибо.
Код:
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
Пока не пойму в чём дело и как исправить.
Ответить с цитированием