Das ist mir allerdings neu. Ich habe alles bisher immer im Konstruktor erzeugt und nie Probleme gehabt (Was ja nichts heißt). Kann man das irgendwo nachlesen?
Ja, in den
VCL Quellen. Unter Windows wird ein Thread mit einem Aufruf von
CreateThread() der
WinAPI gestartet. Dies passiert im Konstruktor von TThread, und der Methodenzeiger, der dabei als Thread-Methode übergeben wird, ist eine Wrapper-Methode, die intern im Wesentlichen TThread.Execute aufruft. Der Konstruktor selbst ist dabei nicht Teil des Threads - der wird da ja erst erstellt. Sonst hätte man ja ein typisches Henne-Ei-Problem.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)