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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2005
nowheremanza nowheremanza is offline
Registrado
 
Registrado: sep 2005
Ubicación: Barcelona
Posts: 7
Poder: 0
nowheremanza Va por buen camino
Question Al cerrar Form no entra en OnClose

Buenas...
soy nuevo aquí y espero que tengais paciencia conmigo si he abierto un hilo en el foro equivocado o meto la pata en cualquier tema...
El hecho es que me había currado un pedazo de mensaje y al ir a enviarlo, me ha dicho que no estaba logeado (que si lo estaba antes), y se me ha ido todo a la mi... pero bueno, resumo y listos.
El problema que tengo es con un Form al cual llamo desde el Form Principal. Lo llamo de forma Modal, pero antes de mostrar dicho form informo al usuario que debe hacer una cosa primero (por temas que no vienen al caso). Si acepta muestra el form con algunas opciones menos, etc... pero si cancela, lo único que hago es cerrar el Form (que aún no ha sido mostrado), preguntándole si desea abandonar la acción. Pues bien, si muestro el Form normal se cierra correcto, pero si lo muestro Modal, al hacer el Close, no entra en el evento OnClose.
Como me estoy enrollando demasiado para una cosa tan simple, pongo código:

Form Principal:

Código Delphi [-]
 with TfrmGestioUsuaris.Create(nil) do
 begin
   ShowModal;
 end;
Form :

Código Delphi [-]
 procedure TfrmGestioUsuaris.FormShow(Sender: TObject);
 {...}
   iResposta := MessageBox(Handle, PAnsiChar(USU_QUEST_PRIMER),
   PAnsiChar(TIT_USU_GEST), M B_OKCANCEL+MB_ICONQUESTION);
   case iResposta of
     IDOK: DesactivarBotonsEdicio();
     IDCANCEL: Close;
   end;
 {...}
 end;
Código Delphi [-]
 procedure TfrmGestioUsuaris.FormCloseQuery(Sender: TObject;
   var CanClose: Boolean);
 begin
   case MessageBox(Handle, PAnsiChar(USU_QUEST_SORT),
     PAnsiChar(TIT_USU_SORT), MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2) of
     IDYES:
       CanClose := TRUE
   else
     CanClose := FALSE;
   end;
 end;
Bueno, y en el FormClose libero una clase propia que utiliza el Form y asigno al parámetro Action := caFree; . La cuestión es que no entra ni a uno ni a otro.

Si alguien me puede hechar una mao, se lo agradecería muchísimo. Porque, a parte de que es un fastidio, ya la curiosidad de saber por qué es mayor...

Pues muchas gracias por adelantado,
hasta luego.

Última edición por dec fecha: 13-09-2005 a las 00:30:40. Razón: Encerrar el código fuente en la etiqueta [DELPHI]
Responder Con Cita
 



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:35:24.


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