A melhor maneira de liberar um formulário da memoria

 

Quando você usa Form.Free ou Form.Destroy, você está imediatamento solicitando a destruição do formulário. Com Form.Release, todas as mensagens pendentes no pool do formulário são postadas - exemplo: redesenho do formulário, movimento do mouse, pressionamento de tecla,...

use assim:

 

FormXX := TFormXX.create ( application );

try

  FormXX.ShowModal

finally

  FormXX.Release;

  FormXX := nil;

end;