Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Fehler beim Erstellen des Fenster - GeräteKontextes

  Alt 9. Nov 2009, 18:39
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 Delphi-Referenz durchsuchenSynchronize,
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.
$2B or not $2B
  Mit Zitat antworten Zitat