Hola amigos
Mi problema es el que menciono en el titulo, por defecto se que los formularios hijos MDI Child no se cierran a menos que en el evento onclose de este, asignemos a la variable Action el valor de cafree, que es precisamente lo que realizo, pero solo se cierra el primer MDI form y los demas al precionar la X para cerrar el formulario no hacen nada, es mas hasta el formulario contenedor deja de responer cuando lo intento cerrar...a continuacion coloco la forma en que creo los MDI Child y como los cierro...
Para crearlo:
Código Delphi
[-]
Procedure TMenuPrincipal.PresionaEntrarMaestroUsuariosDelSistema;
Var
FormHijo:TMaestroUsuariosIndividual;
Begin
Try
LockWindowUpdate(Handle);
FormHijo:=TMaestroUsuariosIndividual.Create(Self);
FormHijo.Caption:=ColocaNombreFormularios (CNFNomFormMaUsuariosSistema);
FormHijo.KeyPreview:=True;
LockWindowUpdate(0);
Except On E:Exception Do
If (MensajesDeError(ErroresSistema(E), E, GloMsgErrorCargaFormDesdeMenuPrincipal,False)<> OpReintentar) Then Begin
CierraCualquierObjeto([FormHijo]);
Exit; End; End;End;
Para cerrarlos
Código Delphi
[-]
Procedure TMaestroUsuariosIndividual.FormClose(Sender: TObject;
var Action: TCloseAction);
Begin
OperacionEnCurso:=OpSaliendo; BorraNombreFormulariosEnLista(self.Caption);
CierraCualquierObjeto([TUsuarios,DSUsuarios,TranLecturaUsuarios]);
Action:=cafree;
End;
Procedure TMaestroUsuariosIndividual.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
Begin
If SalirFormularioUsuarios Then Begin
CanClose:=True; End Else Begin
CanClose:=False; End;
End;
esta puesto tal cual lo tengo...las funciones que aparecen al cerrar el form son comprovaciones para saber si es posible cerrar el formulario(en caso de que este en proceso un ingreso o una modificacion) o para descargar de memoria objetos creados dentro del form...
Se agradece cuanquier ayuda
Saludos....