Alle Parameter die TMyThread zum arbeiten braucht:
Entweder im constructor mitgeben und lokalen Variablen der Threadklasse zuweisen.
Oder als Property der Threadklasse aber dann vor dem Start zuweisen und nach dem Start von außen nicht mehr darauf zugreifen.
Innerhalb von TMyThread.Execute nicht auf die
VCL (Formulare, Steuerelemente, Dialoge) oder globale Variablen zugreifen.
Ersetze die Zugriffe auf deine DriveCombobox und FileListBox durch FindFirst(), FindNext() und FindClose().
Statt umständlich mit der Variable "pausieren" zu arbeiten, einfach Abort() aufrufen.
Rückgabewerte ebenfalls als Property anlegen.
Auf diese Property und die
VCL kann im TMyThread.OnTerminate-Ereignis zugegriffen werden.
Der constructor und dieses Ereignis laufen im Hauptthread der Anwendung.