Por que TForm.Handle é um getter em vez de um campo?

Eu estava depurando um bug complicado recentemente. Isso foi causado pelo acesso a um sistema inexistenteForm.Handle (ponteiro com garbaged). O bug se revelou de uma maneira bastante inesperada para mim - acessando FormsHandle causou redimensionamentos e republicações.

Eu esperaria acessarForm.Handle por um ponteiro de lixo retornaria um pouco de lixo THandle. Esperando que oHandle é criado uma vez na criação do formulário e permanece o mesmo até que o formulário seja destruído.

A questão

Por que é assim queTForm.Handle não é um campo que é inicializado na criação do formulário e é acessado via

property Handle: Integer read FHandle;

, mas é um getter

property Handle: Integer read GetHandle;

que cria o identificador e até a janela (CreateWnd) no primeiro acesso?

questionAnswers(1)

yourAnswerToTheQuestion