Ver Mensaje Individual
  #1  
Antiguo 16-04-2014
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Reputación: 13
danielmj Va por buen camino
Problema con application.messagebox

Hola, después de tiempo sin entrar, vuelvo a las andanzas con delphi, así que aprovecho para saludar.

A ver tengo un formulario, que llama a otro en modo modal, este segundo formulario tiene un pequeño editor de textos. En el evento close de este, muestro un mensaje en caso de que el editor sea distinto a blanco y el usuario tiene la opcion de salir sin guardar o volver al editor y guardar los cambios para salir. El problema lo tengo cuando pulso el boton "cancelar", que tras pulsarlo, el segundo formulario (que se mostraba en modal), se cierra y no quiero que eso pase. Lo que busco es que cuando el usuario pulse sobre "cancelar", todo siga igual, es decir, devolver al usuario al editor de textos sin que haya cambios en este ni cerrando nada.

El codigo que tengo hasta ahora es este:

Código Delphi [-]
procedure TbEditor.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if memo1.Text<>'' then
    if Application.MessageBox('Si cierras sin guardar, se perderán los datos en el editor de textos'+
    chr(10)+'¿Está seguro de querer salir sin guardar?','Atención',mb_okCancel+mb_iconExclamation) = idOk then
      begin
        memo1.Text:= '';
        close
      end
    else
      exit
end;

Gracias de antemano.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita