TAdvTreeView: Columns.Add and GetFirstRootNode inside BeginUpdate/EndUpdate

Hello,

the following code causes an RT-error:

procedure TForm1.Button6Click(Sender: TObject);
var
  Col      : TAdvTreeViewColumn;
  NodeItem : TAdvTreeViewNode;
  sText    : string;
begin
  AdvTreeView1.BeginUpdate;
  AdvTreeView1.ClearColumns;
  AdvTreeView1.ClearNodes;
  Col := AdvTreeView1.Columns.Add;
  Col.Text := '';
  Col.Width := 200;
  sText := 'Test';

  NodeItem := AdvTreeView1.GetFirstRootNode;

  // Error:
  if Assigned(NodeItem) and (not AnsiSameText(NodeItem.Text[0],sText)) then
    ;

  AdvTreeView1.EndUpdate;
end;

GetFirstRootNode returns a valid object although the nodes were cleared before.
It would be possible to avoid that error by inserting "EndUpdate" before GetFirstRootNode. The problem is that this is a test program. In "real life" of my project at the point of calling GetFirstRootNode it is unknown if, and how often BeginUpdate was called before.

Do you have an idea?

GetFirstRootNode will return nil, because the node structure itself is built after EndUpdate is called. So please move NodeItem := AdvTreeView1.GetFirstRootNode; outside of the BeginUpdate; EndUpdate; wrapper

I feared that. But thank you for your fast reply.