Einzelnen Beitrag anzeigen

Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Problem mit Threading / Störung durch Mausbewegungen

  Alt 26. Mär 2008, 14:09
Wenn die VCL im Spiel ist, IMMER synchronize verwenden.

Das kommt sehr wahrscheinlich von dem TBitmap, denn das ist auch aus der VCL.
Es passiert so:
Wenn das Programm läuft, ohne dass jemand was macht (Maus bewegen, oder so), dann klappt alles.
Kommt nun aber dummerweise eine Mausaktion (oder sonst was dazu), dann wird eine Nachricht von Windows an das Programm geschickt, dass es sich gefälligst neu zeichnen soll. Nun werden alle betroffenen Komponenten neu gezeichnet und es knallt. Der Thread will in das TImage schreiben, dieses zeichnet sich aber gerade neu und steht somit nicht zur Verfügung.

Also, entweder synchronize oder vom Thread eine Message an das hauptprogramm schicken, dass das TImage aktualisiert werden soll.

Zu synchronize findest Du jede Menge Diskussionen hier.
Oder Du bemühst die Delphi-Hilfe.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat