Dein Problem liegt
imho daran, dass Du eine Thread-Routine mit Zugriffen auf grafische Elemente als Threadroutine übergibst. Das kann nicht klappen, da die
VCL die Zugriffe im Kontext des Hauptthreads ausführt. Solche Zugriffe müssen innerhalb des Threads mit synchronize abgesichert werden.
Also musst Du solche Routinen deklarieren und da solltest Du dann eine TThread-Klasse für schaffen.
Übrigens steht ein Thread immer für sich alleine, egal wo er deklariert ist. Er kann also nicht zu Form1 oder Form2 gehören, selbst wenn er zufällig in derselben Datei deklariert ist. Solltest Du den Thread als Member der Klasse TForm2 deklariert haben, könnte das die Fehlermeldung verursacht haben.
Grüße, Messie