Eigentlich isses Einfach:
- alle Zugriffe auf nicht threadsichere
VCL-Dinge über Synchronize erledigen
- Dinge, wo nur deine Codes drauf zugreifen (z.B. eine TList oder andere Variablen, Speicherblöcke, Dateien, Handles) über CriticalSection und Co. (wobei hier natürlich auch Synchronize ginge)
Synchronize sichert ab, da alle Zugriffe nur im Haptthread erfolgen und dadurch immer nur Einer gleichzeitig arbeiten kann.
CriticalSection sperrt Zugriffe für andere Threads, wärend ein Thread damit arbeitet.
ReadWriteSynchronizer erlauben gleichzeitige Lesezugriffe aber beim Ändern wird alles andere gesperrt.
Du kannst ein Bitmap gerne innerhalb eines Threads bearbeiten, aber die Übergabe, also Anzeigen, bzw. dea Kopieren des Inhalts davon, rüber zu
VCL muß abgesichert werden.
Codebeispiele?
Für CriticalSections und Synchronize findet man jede Menge, wobei hier die auch schon
OH genaug erklärt.