Das kam mir gleich sehr seltsam vor mit der lokalen CriticalSection. Denn wie soll Thread1 denn von der CriticalSection von Thread2 erfahren? Also ist das eher Quatsch.
Gut dann habe ich das wenigstens umgestellt und werde mir merken:
WENN (!) es nicht anders geht, dann Synchronize für
GUI
und
schreiben (nicht lesen?) von globalen Variablen nur mit globaler CriticalSection ("global"... es ist eine
Unit mit Records und Classes).