Esta página mostra o código gerado automaticamente para um free form e um exemplo modificado que captura texto como um formulário modal. Um free form difere de um application form principalmente porque permite múltiplas instâncias e oferece controle mais rigoroso sobre o tempo de vida do formulário.
Não existe equivalente da variável global do VCL (a função que fornece uma instância global do formulário está ausente).
Solicitar um free form implica que o usuário deseja comportamentos não disponíveis com um application form:
Podem ser criadas múltiplas instâncias do formulário (por exemplo, vários formulários não-modais mostrando registros diferentes).
O usuário tem controle mais rígido sobre o tempo de vida do formulário.
Observações sobre este exemplo modal:
O owner do free form é a instância que gerencia a sessão atual (não uma variável global de aplicação).
O formulário é liberado automaticamente porque FreeOnClose é true e um valor ModalResult foi atribuído.
A variável local (frm) é liberada quando sai do escopo (após sair de GetText).
Free forms são convenientes ao expor um serviço (como GetText) em vez de expor o próprio formulário. O formulário pode ser criado e liberado inteiramente dentro da implementação do serviço.