Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-12-2008
odrack odrack is offline
Miembro
 
Registrado: feb 2008
Posts: 167
Poder: 17
odrack Va por buen camino
Cancelar cerrar form

Saludos compañeros!!

Nuevamente pidiendo ayuda de ustedes , tengo una aplicación donde realizo notas de venta, esto trabaja bien, la duda que tengo es ¿como puedo impedir que se cierre el form una ves que he presionado el boton de cerrar (en la parte de border icons, en la X) si tengo una nota de venta abierta?, he hecho una validación en el evento onClose pero aun asi no me respeta mi validación.

Pongo un fragmento de codigo para que vean el procedimiento que utilizo
Código Delphi [-]
  if button3.Visible=false then
    begin
      showmessage('Debes cerrar tu nota de venta antes de salir');
    end
  else
    begin
       form1.close;
    end;
Responder Con Cita
  #2  
Antiguo 11-12-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Puedes usar el evento "OnCloseQuery" del formulario. Este te pasa por referencia el argumento "CanClose", de modo que si le das el valor "True", el formulario se cerrará, y si es "False", el formulario no se cerrará.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 11-12-2008 a las 00:18:47.
Responder Con Cita
  #3  
Antiguo 11-12-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Hola odrack !

No puede ser que al mostrar la ventana de tu nota de venta la abras como Modal ?

Es una idea
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #4  
Antiguo 11-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Debes emplear el evento OnCloseQuery, y altervar el valor de la variable CanClose dependiendo de la condición.

Por ejemplo, siguiendo tu ejemplo:
Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := NOT Button3.Visible;
end;

La variable CanClose determina si puede o debe cerrarse el form. En el ejemplo, si el botón3 está visible, no lo cierra. En caso de no estar visible se cierra.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 11-12-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, debes colocar el Action de tu evento OnClose en caNone.

Código Delphi [-]
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if button3.Visible=false then
    begin
      Action:=caNone;
      showmessage('Debes cerrar tu nota de venta antes de salir');
    end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 11-12-2008
odrack odrack is offline
Miembro
 
Registrado: feb 2008
Posts: 167
Poder: 17
odrack Va por buen camino
Gracias a todos por el apoyo!!

He probado de las dos formas tanto de Delphius y Caro y me han funcionado ambas, me faltaba la instruccion para cancelar el cierre, Action:=caNone;

Con esto es caso cerrado!!, jeje
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cancelar La Accion Cerrar. ivanflores Varios 5 24-10-2007 00:30:20
Cerrar un form, o cancelar llamada al API rex Varios 3 19-05-2006 02:05:54
Problema al Cerrar Form serhasae Varios 3 28-04-2006 22:02:33
Problema al cerrar form Iseberiano Varios 4 08-06-2005 22:50:17
Cerrar un Form scooterjgm OOP 5 18-11-2004 12:27:33


La franja horaria es GMT +2. Ahora son las 14:12:35.


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