Ich füge aktuell einer VirtualStringTree einiges An Einträgen hinzu.
Ungefähr so
Delphi-Quellcode:
procedure AddVSTStructure(aVST: TVirtualStringTree; aRecord: TTreeData);
var
Data: PTreeData;
Node: PVirtualNode;
begin
Node := aVST.AddChild(nil);
Node.CheckType := ctCheckBox;
Node.CheckState := csCheckedNormal;
Data := aVST.GetNodeData(Node);
Data^ := aRecord;
end;
Mein Record ist ein ganz normales Record
Delphi-Quellcode:
type
PTreeData = ^TTreeData;
TTreeData = record
iIndex: Integer;
// Hier stehen ein paar Variablen.. Strings, Boolean etc
end;
Das Hinzufügen dauert komischerweise recht lange, obwohl VirtualStringTree1.BeginUpdate und VirtualStringTree1.EndUpdate schon gesetzt sind.
Ist das normal, dass das bei 100000 Einträgen und mehr in etwa 10 Sekunden dauert?