Das ist klar, das die Meldung kommt.
Du mußt dazu eine neue Procedure im Thread schreiben und die mit Synchronize aufrufen:
In etwa so:
Delphi-Quellcode:
type
TMeinThread = class(TThread)
private
procedure MachWas; // <- Forward Deklaration
protected
procedure Execute; override;
end;
...
procedure TMeinThread.MachWas;
begin
// Natürlich nicht so
// Synchronize(Form1.Canvas.Pixels[Variable1,Variable2]);
// So
Form1.Canvas.Pixels[Variable1,Variable2];
end;
procedure TMeinThread.Execute;
...
begin
...
Synchronize(MachWas);
...
end;
Und die Forward Deklaration nicht vergessen
PS: Titel ist OK.
Edit: Nonsens ausgebessert
Das kommt davon, wenn man abschreibt