Hola.
Agregá en a tus forms MDIChilds el evento
OnDestroy con la siguiente línea:
Código Delphi
[-]
procedure TNombreDelForm.FormDestroy(Sender: TObject);
begin
NombreDelForm:= nil;
end;
Ya que con
no estás destruyendo inmediatamente el form, solo le estás indicando a Windows que puede disponer de la memoria ocupada por dicho form
cuando él lo considere necesario.
También podés destruirlo en el evento
OnClose:
Código Delphi
[-]
procedure TNombreDelForm.FormClose(Sender: TObject; var Action: TCloseAction);;
begin
Action:= caFree;
NombreDelForm:= nil;
end;
Pero me parece que el evento
OnDestroy es más adecuado.
Saludos.