Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#7

Re: [Thread] Zeichnen hört teilweise auf

  Alt 8. Nov 2007, 13:11
Zitat von Tormentor32:
Ich glaube der Hinweis von Muetze1 war auf das Aktualisieren der Labels bezogen, welche ich nicht mit synchronize aktualisiert habe. Das habe ich jetzt testweise eingebaut, das Problem ist, dass das "Phänomen" so unregelmäßig auftritt, dass ich jetzt noch nicht sagen kann ob der Fehler weg ist. Wäre aber auch komisch imho, weil die labels ja funktionieren und das Image nicht. Image2 funktioniert ja trotzdem...
Nein, grundsätzlich. Da schon der Zugriff auf viele Eigenschaften der VCL Objekte Nachrichten auslösen bzw. weitere Referenzen innerhalb der VCL benutzen, sollte es vermieden werden, diese innerhalb eines Threads zu nutzen. Grundlegend würde ich dir auch raten, dass du dir ein TBitmap innerhalb des Threads anlegst und im Synchronise dann Image1.Picture.Bitmap.Assign(fBitmap); nutzt. Damit hast du eine definitiv getrennte Instanz (von der Oberfläche...). Bei den Labels würde ich diese gar nicht erst in den Thread reingeben - wozu auch? Weise den Text synchronisiert zu, etc. Aber keine VCL Oberflächen Elemente innerhalb des Threads. Wenn du das grundlegend umsetzt, dann solltest du unter Nutzung von Synchronize() gar keine Probleme bekommen. Im jetzigen Zustand kann man gar nicht abwägen oder abschätzen was da von was abhängt und irgendwie mal Ärger macht. Schon allein, da sich fast jedes im Thread referenzierte Objekt anbietet für Probleme...
  Mit Zitat antworten Zitat