I create a Windows timer using the following
FHandle := SetTimer(0, 0, 1000, TFNTimerProc(@TMyClass.MyMethod));
Is this thread shown in the Delphi "Threads" window. If Yes how I can get this Thread ID?
There is no thread created by that function. The OS calls the callback function when your program handles the wm_Timer
message. It's called from within the context of the same thread that called SetTimer
, so the thread had better have a message pump. (It you're calling this from the main VCL thread, then the message pump is provided for you by the TApplication
class.)
Furthermore, SetTimer
doesn't return a handle. It returns a timer ID.
And finally, unless that method is a class static
method, it won't work the way you hope. If the signature of the callback matches what SetTimer
expects you to provide, you won't need a type cast, so if you needed to type-cast the function pointer to make the compiler accept your code, you probably got it wrong.