Hola jafera.
Llamando a F_Camions desde F_Parcs de este modo:
Código Delphi
[-]
...
procedure TF_Parcs.MostrarChild(FrmClass: TFormClass);
var
i: Integer;
begin
for i:= 0 to Screen.FormCount -1 do
if Screen.Forms[i] is FrmClass then
begin
Screen.Forms[i].WindowState:= wsNormal;
Screen.Forms[i].BringToFront;
Exit;
end;
with FrmClass.Create(Application) do Show;
end;
procedure TF_Parcs.DBGrid1DblClick(Sender: TObject);
begin
MostrarChild(TF_Camions);
end;
Y teniendo en F_Camions:
Código Delphi
[-]
...
procedure TF_Camions.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
procedure TF_Camions.FormDestroy(Sender: TObject);
begin
F_Camions:= nil;
end;
No tendrías que tener ningun inconveniente.
Para salir de toda duda hice la prueba y el form se cierra correctamente sin arrojar ninguna excepción.
Saludos.