Ver Mensaje Individual
  #8  
Antiguo 18-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo lo haría así:

Cerrar los formularios hijo

Código Delphi [-]
(* No hay necesidad de preguntar si hay hijos abiertos *)
for I := MDIChildCount - 1 downto 0 do
  MDIChildren[i].Close;

OnCloseQuery del formulario hijo:

Código Delphi [-]
const
  Flags = MB_ICONWARNING or MB_YESNOCANCEL;

begin
  if HayCambios then
    case Application.MessageBox('¿Desea guardar los cambios?', 'Confirmar', Flags) of
      ID_YES: { código para guardar cambios };
      ID_NO: { no hacer nada };
      ID_CANCEL: abort { al ser una excepción, cancelará lo que reste del ciclo };
    end;
end;

// Saludos
Responder Con Cita