Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Opcion de cerrar el programa

Hola amigos, estoy tratando de enviar un mensaje de confirmacion de cierre de programa de la siguiente manera...

Código Delphi [-]
procedure Tform_principal.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
form_salir.showmodal;
end;

Aqui llamé a la ventana que hara la pregunta si realmente se quiere salir....

el boton aceptar
Código Delphi [-]
procedure Tform_salir.cxButton1Click(Sender: TObject);
begin
exit;
end;

y el boton cancelar

Código Delphi [-]
procedure Tform_salir.cxButton2Click(Sender: TObject);
begin
form_salir.close;
end;

pero resulta que el "aceptar" no hace nada...... y coloco cancelar y se cierra la ventana pero no el programa.....

Alguna idea por favor..... parece facil pero no se me ocurre...
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #2  
Antiguo 07-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Usa el evento CloseQuery de la forma principal:

Código Delphi [-]
procedure TForm_Principal.FormPrincipalCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  CanClose := PuedoSalir
end;

function TForm_Principal.PuedoSalir: Boolean;
begin
  Result := Form_Pregunta.ShowModal := mrYes
end;

Tu forma Form_Pregunta solo va a tener un boton con su propiedad ModalResult en mrYes y otro más con su ModalResult en mrNo. También podría ser mrOk y mrCancel.



Espero que te sirva...



Saludos...
Responder Con Cita
  #3  
Antiguo 07-12-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Propiedad ModalResult

Los botones tienen una propiedad que se llama ModalResult, es muy util en estos casos...
En la propiedad ModalResult del boton aceptar pon la opcion de mrOk, en la del boton cancelar pon mrCancel y en lugar de poner el codigo
form_salir.showmodal

pon

If form_salir.showmodal = Id_Cancel then abort

Con esto debe de quedar lo que quieres hacer.

Saludos, Dios te bendiga
Responder Con Cita
  #4  
Antiguo 07-12-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Me olvide de un detalle

En los procedimientos de OnClick de los botones Aceptar y Cancelar no tienes que poner nada de codigo.
Responder Con Cita
  #5  
Antiguo 07-12-2005
Avatar de Sotrono
Sotrono Sotrono is offline
Miembro
 
Registrado: abr 2004
Ubicación: Buenos Aires - Argentina
Posts: 396
Poder: 21
Sotrono Va por buen camino
Hola, en vez de crear un formulario para preguntar si esta seguro de cerrar la aplicacion te conviene utilizar la funcion MessageDlg que puede hacer lo que necesitas. Busca en la ayuda de Delphi que hay un ejemplo.
Cita:
Empezado por ilichhernandez
pero resulta que el "aceptar" no hace nada...... y coloco cancelar y se cierra la ventana pero no el programa.....
La aplicacion no se va a cerrar porque lo que estas cerrando es form_salir y no el formulario principal de la aplicacion.

Saludos...
Responder Con Cita
  #6  
Antiguo 09-06-2006
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Gracias

Tenia el problema que no sabia cómo se podia hacer para sacar un mensaje da aviso antes de cerrar la ventana en Delphi.
Con la opción buscar he encontrado vuestros mensajes que me han solucionado el problema. Muchas gracias por vuestras aportaciones.

Desconecia de la existencia de CanClose y de lo que hacia el evento OnCloseQuery.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:22:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi