Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
1. Apr 2009
Hi Richard,
Richtig, damit meine ich den NodeIndex.
Leider nein, wenn die Daten nicht vorhersagbar sind - also wie in Deinem Beispiel verschiedene Datumsangaben oder beliebige Strings - geht es nicht.
Prinzipiell sind alle nötigen Funktionen für das Einfügen schon im VST. Es handelt sich bei meiner Nutzung um einen Sonderfall, der hierbei sehr viel Zeit spart.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
28. Mär 2009
Hi,
mal als Nachtrag für die, die es interessiert: Ich habe das "Problem" gelöst. Da war einfach eine viel zu komplizierte Logik im ursprünglichen Ansatz.
Anforderung
Die Anforderung ist eine Sortierung entweder von 1..n oder n..1, die der Benutzer durch Klick auf den Columnheader der ersten Spalte auswählen kann. Die interne Sortierung im VST mit Hilfe von OnCompareNode ist sehr schnell,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
21. Mär 2009
Hi,
Ja, in der Größenordnung wird das Problem bei heutigen Rechnern absolut nicht sichtbar. Das entspricht auch meinen Tests.
Das ist natürlich richtig. Aber: Ich denke mir, es darf trotzdem nicht bedeuten, daß das Programm langsam bis hin zur Unbedienbarkeit wird.
Ich will praktisch nur eine Sortierung Aufsteigend/Absteigend. Es geht hier um Bestellungen, die Tree zeigt nur ID/Datum...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
20. Mär 2009
Hi generic,
Danke für Deine Hilfe!
Probiere ich seit heute Abend schon. Also toAutoSort aus, manuelle Sortieren per OnHeaderClick und zusätzlich automatische Positionierung neuer Nodes per .InsertNode.
Das geht zwar, aber die Performance ist nur um den Faktor 5 besser als AutoSort. Ohne .InsertNode bzw. ohne Sortierung kann ich 10 Nodes per .AddChild in 0-16ms hinzufügen, das gleiche...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
20. Mär 2009
Hi,
Natürlich, laß es mich mal umformulieren:
- Wenn toAutoSort verwendet wird, stimmt die Sortierung. Wenn jetzt per AddChild() oder Änderung der RootNodeCount die Anzahl geändert wird, wird durch .EndUpdate eine vollständige Neusortierung (müßte intern ein Mergesort sein) ausgelöst, der sehr lahm ist bei ~ 2 Mio Einträgen
- Mit manuellem Sort für das Einfügen eines einzelnen Childs per...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Assertor,
20. Mär 2009
Hi DPler,
ich stehe gerade etwas auf dem Schlauch:
Hintergrundinfo:
Ich zeige über ein VST Felder einer Datenbank an. Nun habe ich mich per Profiler auf die Suche nach Performance Problemen gemacht, nachdem mir auffiel das ab ca. 1,5 bis 2,5 Mio Datensätzen das ganze alle paar Sekunden langsam wird. Langsam bedeutet hier: Aussetzer wenn man z.B. den Scrollbalken schnell bewegt - genau in...