Hallo,
Du greifst in Deinem Thread an allen Ecken und Enden unsynchronisiert auf
VCL-Objekte des Hauptthreads zu. Dass es da irgendwann knallt ist eigentlich keine Frage des Ob? sondern eine Frage des Wann?
Wenn Du nicht 100% sicher bist, dass ein Objekt threadsafe ist (die komplette
VCL ist es z. B. nicht), dann musst Du
immer Synchronize benutzen.
Die Alternative wären Criticalsections, um den Code zu schützen, wobei das mehr Aufwand bedeutet, fehlerträchtiger ist und oft (Fremdkomponenten) nicht machbar ist. Ist es aber machbar, ist oft eine bessere Laufzeit als mit Synchronize zu erwarten.
Gruß
xaromz