Du solltest auf jeden Fall den Kode der mit einem Canvas arbeitet in
Delphi-Quellcode:
Canvas.Lock;
try
Zeichnen hier
finally
Canvas.Unlock;
end;
einschließen ("Canvas" muss natürlich durch den Bezeichner des Canvas ersetzt werden, den Du da verwendest.)
Die
VCL hat eine interne Verwaltung von
GDI-Objekten wie Font, Pen, Brush um
GDI-Handles zu sparen und die ist nicht thread-safe. Die Lock/Unlock Aufrufe beheben das.