Die
VCL läuft nur in einem Thread, der
zufällig absichtlich auch der Hauptthread/MainThread der
VCL-Anwendung ist.
Die
VCL wurde da gestartet/initialisiert und da in Windows Forms/Komponenten an den Thread gebunden sind, in welchem sie erstellt wurden (CreateWindow), landen auch alle ihre Messages in jenem Thread.
Die
VCL nutzt untereinander globale nicht-threadsichere Objekte/Listen, also kann man die Forms nicht aufteilen.
Aber prinzipiell bietet Windows es an, dass man einzelne Forms/Komponenten in eigenen Threads erstellt, wenn man ihre Messages dort auch verarbeitet.
Die
VCL verarbeitet von sich aus nur die Messages des MainThreads.