Es cierto, debería haber puesto el código cmpleto, ya que en realidad, hace lo siguiente:
Código:
Pantalla[i].Close;
if (Pantalla[i] <> NULL) then
begin
Pantalla[i].Free;
Pantalla[i] := nil;
end;
Y en el Close del Formulario es donde se realiza el Free y nil. He dejado esa parte aquí, por si por algún error no realizaba la liberación en el formulario, aunque trazándolo nunca llega a ejecutar la parte del condicional, puesto que lo ha liberado antes.
Gracias por contestar.