Hallo QuickAndDirty,
Ich denke mal, dass du in Deinen Threads Methoden der unsichtbaren Formulare direkt aufrufst. Diese sorgen sowohl für die Datenverarbeitung als auch für die grafische Darstellung. Ich denke, dass du wie du richtig schreibst die Trennung von
GUI und Daten brauchst. Aber auch die Daten müssen eigentlich geschützt werden vor multiblen Zugriffen. ThreadA schreib währen ThreadB liest. Diese
Gleichzeitigkeit kommt ja auch noch hinzu.
"Leinwand erlaubt kein Zeichnen" kenne ich z.B. auch im Zusammenhang mit ActiveControl. Eine Komponente die Disabled ist und dann ActiveControl werden soll. Meist ist dann die Logig für aktivieren und deaktivieren der Komponenten in den OnShow-Ereignissen der Formulare die ja aber eben nie ausgelöst werden
Naja, ich denke du verstehst was ich meine.
Ich denke meine Vorredner haben bereits schon das wichtigste gesagt:
Syncronize bei den
VCL-Threads und die Trennung
GUI/Daten muss her
Viel Erfolg.
Chris
[EDIT]Roter Kasten: Die Methoden die du aufrufst kannst du mit Sycronize aufrufen wenn die fragliche Methode keine Parameter hat -> Syncronize(MeineMethode)[/EDIT]