¿Por qué TForm.Handle es un captador en lugar de un campo?

Estaba depurando un error complicado recientemente. Fue causado por acceder a un no existenteForm.Handle (puntero de basura). El error se reveló de una manera bastante inesperada para mí: acceder a los formulariosHandle causó cambios de tamaño y repintado.

Esperaría accederForm.Handle por un puntero de basura solo devolvería algo de basura THandle. Esperando que elHandle se crea una vez en la creación del formulario y permanece igual hasta que se destruye el formulario.

La pregunta

¿Por qué es así?TForm.Handle no es un campo que se inicializa en la creación del formulario y se accede a través de

property Handle: Integer read FHandle;

, pero es un captador

property Handle: Integer read GetHandle;

que crea la manija e incluso la ventana (CreateWnd) en el primer acceso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta