Toma muy en cuenta la respuesta de AgustinOrtu.
Una pregunta: ¿de qué tipo es
FThread?
En caso de ser puntero (u objeto), ten presente que una expresión como
Integer(FThread), sólo considerará los cuatro bytes más bajos, ya que Integer es un tipo de dato de 32 bits (aun en plataformas de 64 bits), mientras que un puntero ocupa ocho bytes en sistemas operativos de 64 bits. Es decir, los punteros (los cuales abarcan a las variables objeto también) contienen un valor de 32 o de 64 bits, dependiendo de la plataforma para la que se haya compilado la aplicación.
Un saludo.
Al González.