Zitat von
simmi:
einer darf alles sehen und der andere nur einen Ausschnitt. Das kommt aus der Anmeldung heraus und funktioniert auch.
Nja, die Abfrage ist schon klar, aber die beiden Alternativen sind genau gleich
Delphi-Quellcode:
RadiogroupX.Items.Add(DataModule9.Table1.fieldbyname('hinweis').AsString);
RadiogroupX.Items.Add(DataModule9.Table1.fieldbyname('hinweis').AsString);
Zitat von
simmi:
Jetzt stehe ich im dunkeln. Das war mein erster Versuch mit einem Thread. Wie syncornisiert man das Teil???? In dem Tutorial habe ich dazu nichts gefunden.
Die
VCL ist nicht threadsicher, daß bedeutet, daß gleichzeitige Zugriffe (die
VCL greift auch noch auf sich selber zu, wenn z.B. die Form und ihre Komponenten dargestellt wird) zu Problemen führen können.
Das ist so, als wenn zwei Autos ohne Licht und in entgegengesetzten Richtungen durch einen dunkeln Tunnel wollen ... irgendwann kracht es halt.
Die Lösung währe theoretisch
Synchronize,
aber da du in sehr kurzen Abständen und verhältnismäßig oft auf die
VCL zugreifen willst, wäre hier der Thread so "sinnlos", da Synchronize die Befehle in den Kontext des Hauptthreads verlegt (wo die
VCL drinnen läuft)
Einzige Lösung mit Thread wäre, wenn in dem Thread die
DB abgefragt würde,
erstmal alles zwischengespeichert würde (z.B. in Stringlisten/Arrays innerhalb des Threads
und dann am Ende (eventuell auch schon ein paar Male zwischendurch, wenn es länger dauert und man auch schon Teilergebnisse sehn will) einmal via Synchronize die Werte aus diesen Zwischenspeichern in die
VCL-Komponenten übertragen würde.