Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cerrar Forma al Ser Creada (https://www.clubdelphi.com/foros/showthread.php?t=15195)

AGAG4 13-10-2004 22:41:14

Cerrar Forma al Ser Creada
 
Como se podría Cerrar una Forma al momento de Ser Creada ó al momento de crearse sin Cerrar las Demás????

Lo que pasa es que en la FormaPrincipal.dpr arranco primero 2 Formas y después la forma principal:
Código Delphi [-]
....
  Application.Initialize;
  Application.Title := 'Aplicación de Prueba';
  Application.CreateForm(TdmBDPrueba, dmBDPrueba);
  Application.CreateForm(TdmFactPrueba, dmFactPrueba);
  Application.CreateForm(TdmEspPrueba, dmEspPrueba);

  //Forma #1  Activar Fecha Activa
  fFecTrabajo:= TfFecTrabajo.Create(Application);
  fFecTrabajo.ShowModal;
  fFecTrabajo.free;
 
  //Forma #2 Pedir Usuario y PassWord
  fUsuClave := TfUsuClave.Create(Application);
  fUsuClave.ShowModal;
  fUsuClave.free;
  //Forma Principal
  Application.CreateForm(TfMenuPrin, fMenuPrin);
  Application.Run;

Ahora en la Forma #1, al momento de crearse la forma busco la "Fecha Activa" si existe en la Base de Datos entonces tengo que Cerrar la Forma #1 y si no Existe me tiene que mostrar los datos para capturarla pero el detalle es que en el "OnCreate" en donde hago esto, pongo la instrucción CLOSE ó Forma.Close pero no me Cierra la Forma y ni el evento "FormActivate", lo que no quiero es que se alcanze a ver la forma.

Agradezco cualquier comentario.

vic_ia 14-10-2004 00:58:53

hola...

creo que lo unico que tienes que hacer es en el evento OnCreate, sino se cumplen tus condiciones llamar al procedimiento Abort...

saludos....

AGAG4 14-10-2004 01:27:42

No funciono
 
No funciono Vicia, no cierra la forma al cumplirse la condición, alguna otra sugerencia????

De antemano Gracias.

AGAG4 14-10-2004 01:34:37

ó bien como se puede llamar el ALT+F4 para cerrar la forma????

jhonny 14-10-2004 02:22:58

Que sucede si simplemente haces todas tus validaciones y si es de cerrarla pues no la cierras si no que solo pones la propiedad visible del formulario fFecTrabajo en falso?.

kes 14-10-2004 13:41:42

Basta con que en el evento OnPaint del formulario utilices el método Close.

Saludos.

AGAG4 14-10-2004 16:27:07

Gracias a todos por responderme.

Primer Sr. Jhonny, no puedo poner la forma invisible porque el motivo de querer cerrar la forma despues de las validaciones es de que me muestre la siguiente forma(usuario y password)

y Segundo Sr. Kes voy a probar lo que me dice...
Que tengan buen día.

keyboy 14-10-2004 17:29:56

Método 1 (correcto)

Haz la búsqueda de la fecha activa fuera del formulario antes de crearlo. Si la fecha no existe creas y muestras el formulario y si ya existe simplemente no creas ni muestras el formulario.

Método 2 (funcional pero lógicamente incorrecto)

Redefine el método ShowModal del formulario y haz ahí la búsqueda de la fecha antes que cualquier otra cosa. Si la fecha no existe llamas a inherited y si no existe no haces nada.

¿Por qué el primer método es correcto mientras que no lo es el segundo?

Porque la labor del formulario es la de capturar la fecha por parte del usuario; el qe dicha fecha exista o no en la base de datos es una cuestión aparte.

Bye

AGAG4 15-10-2004 16:26:44

Asi lo hice KeyBoy, Gracias por sus Respuestas.
Valide antes de crear el Formulario es mejor opción.
Que tengan buen día.

jhonny 15-10-2004 17:36:40

La solucion de keyboy es muy buena, y me alegro que te funcione todo...
En cuanto a lo de señor, jejejeje, eso me hace sentir un viejo... jejejeje.

AGAG4 15-10-2004 19:11:34

Disculpe Sr. jhonny ó Perdon ;) Jhonny
Gracias.
Que tenga buen día.


La franja horaria es GMT +2. Ahora son las 01:55:45.

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