Hello,
help me, pls. I can't add nodes in vstOrders.
type
TMyRecord = record
Active: Boolean;
ID : Longint;
(здесь десяток полей)
NodePointer: PVirtualNode;
end;
rTreeData = record
IndexInMyData: integer;
end;
...
Procedure TForm1.LoadOrders;
var
Node: PVirtualNode;
Data: ^rTreeData;
i,Idx: integer;
Timer: cardinal;
begin
vstOrders.BeginUpdate;
Idx := length(MyArrayData);
SetLength(MyArrayData, length(MyArrayData)+frmDB.dbfOrders.RecordCount );
frmDB.dbfOrders.First;
repeat
Node := vstOrders.AddChild(nil);
Data := vstOrders.GetNodeData(Node);
Data.IndexInMyData := Idx; //а вот здесь возникает ошибка access violation. Node при этом содержит nil
with MyArrayData[Data.IndexInMyData] do begin
Active :=true;
ID :=frmDB.dbfOrders.FieldByName('ID' ).AsInteger;
(и здесь поля)
NodePointer:= Node; //Create link into your data record to VST node
end;
inc(Idx);
frmDB.dbfOrders.Next;
until frmDB.dbfOrders.EOF;
vstOrders.EndUpdate;
End;
Variable Node contains nil. I think, is not correct. May be i must initialize it, but where?