Ich verstehe jetzt, was du meinst. Allerdings mache ich ja jedes Mal nach dem Schreiben .BindingsReset() (gut, davor sind sie noch gebunden). Ich habe erst mal das mit .AddXXRow aus dem Nebenthread herausgenommen (so häufig passiert es ja nicht), ich denke, das sollte erstmal die größten Kollisionen beseitigen.
Die Frage ist ja, warum du es sagst:
Denn bisher lag die Exception definitiv nicht an DataBinding, sondern wurde im Setter der neuen Row ausgelöst. Solange ich kein .ResetBindings() gemacht habe, ist das Programm auch nicht abgestürzt, sondern hat einfach das Falsche angezeigt (bzw. nicht aktualisiert).
Die Daten sollen schon zeitnah (deutlich weniger als eine Sekunde Verzögerung) in der GUI angezeigt werden (also in DS geschrieben werden), mir bringt also das Sammeln nicht wirklich was... Ich müsste, wenn, dann jeden neuen Datensatz in den GUI-Thread übergeben. Es sind halt im Schnitt 10-15 Sachen, plus Berechnungen - ich denke, .ResetBindings() ist schneller, oder?
Die Frage ist ja, warum du es sagst:
ErfinderDesRades schrieb:
Der NebenThread darf nicht ins Dataset schreiben, solange wie auch immer ein Databinding besteht.
Denn bisher lag die Exception definitiv nicht an DataBinding, sondern wurde im Setter der neuen Row ausgelöst. Solange ich kein .ResetBindings() gemacht habe, ist das Programm auch nicht abgestürzt, sondern hat einfach das Falsche angezeigt (bzw. nicht aktualisiert).
Die Daten sollen schon zeitnah (deutlich weniger als eine Sekunde Verzögerung) in der GUI angezeigt werden (also in DS geschrieben werden), mir bringt also das Sammeln nicht wirklich was... Ich müsste, wenn, dann jeden neuen Datensatz in den GUI-Thread übergeben. Es sind halt im Schnitt 10-15 Sachen, plus Berechnungen - ich denke, .ResetBindings() ist schneller, oder?