Einzelnen Beitrag anzeigen

Jim Carrey
(Gast)

n/a Beiträge
 
#1

Nodes einer VirtualStringTree hinzufügen - aber schneller!

  Alt 5. Okt 2016, 17:44
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?
  Mit Zitat antworten Zitat