Die
VCL ist per se nicht threadsave, daher darf man niemals unsynchronisert darauf zugreifen, da es immer zu Problemen kommen
kann.
Einiges der
VCL nutzt ausschließlich Messages (nur ein SendMessage in der Methode ... dann synchronisiert sich das "zufällig" von selber)
Wie sonst soll man einen Fortschrittsbalken steuern?
TThread.Synchronize, TThread.Queue, threadsichere Listen, Windows-Messages oder ähnliches.
Oder aucg Events im Thread setzen und in der
VCL (z.B. Timer) reagiert jemand da drauf und liest das Ergebnis synchronisiert aus, wenn er Zeit hat.
SendMessage der besser PostMessage ... 'ne ProgressBar ist ja auch nur 'nen Windows-Control und da kennt die
WinAPI eine pasende Message, um das zu steuern.