Also das Hauptproblem sehe ich hier bei der Tatsache, dass deine Daten im
Query laufend aktualisiert werden und Du gleichzeitig versucht alte Daten aus der selben
Query quasi im DBGrid anzuzeigen.
Eine Lösung könnte hier sein, dass Du die Daten aus der
Query lokal zwischenspeicherst (in Records, Klassen, wo auch immer) und diesen Datensatz und die dazugehörige darstellende Komponente (das VirtualTreeView bietet sich auch wieder an
) so alle 0,5 Sekunden (oder welchen Intervall Du auch immer wählst - oder auch manuell) mit den neuesten Daten aus der
Query aktualisierst...
Viele Grüße