Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Formunlario caprichoso !!! (https://www.clubdelphi.com/foros/showthread.php?t=36900)

Ledian_Fdez 27-10-2006 15:19:48

Formunlario caprichoso !!!
 
Holas amigos:
Hoy les traigo una inquietud:

Código Delphi [-]
procedure TEstadoForm.FormActivate(Sender: TObject);
begin
 { lineas de comandos
         ...
         ...        
         ...        }

 Close; // No me ejecuta esta linea
 Showmessage('fin'); // si me ejecuta esta línea
end;

¿Alguien sabe por qué es que me ocurre esto? y cómo podré cerrar el formulario una ve termine de ejecutar las líneas de comandos.

De antemano muchas gracias por haberse detenido al leer mi duda.
Saludos Ledian.

roman 27-10-2006 16:06:11

¡Qué cosa más rara! ¿Para qué quieres cerrar el formulario si apenas se está activando? Pero bueno...

En lugar de Close, intenta con

Código Delphi [-]
PostMessage(Handle, WM_CLOSE, 0, 0);

// Saludos

Ledian_Fdez 27-10-2006 16:29:02

Evento
 
Roman tienes razon, lo que pasa es que no se en que evento poner ciertas lineas de codigo, que quiero que se me ejecuten una vez que yo pueda ver y manipular todos los controles (Componentes visuales y no visiales) del formulario.

En cual me aconsejarian?

gracias
Ledian.

lag_0 27-10-2006 18:28:58

Hazlo en on create...
Si el forumalio se oculta al tray y similares pues lo haces en el doble click de el tray...

Si lo que pasa es que quieres ejecutar codigo cuando se maximiza tienes un TEVENTS o algo así que tiene este evento incluido

Y si lo que quieres es para un form secundario.. pues esta claro, antes de abrirlo ejecutas el codigo desde el otro form que lo invoque

De todos modos, que sentido tiene activar y cerrar un formulario? :confused:
Nosé lo que quieres hacer pero creo que con: form.visible:=FALSE; te bastaria si pones el codigo en el oncreate, de todos modos tampoco tiene sentido crear un formulario solo para eso, o al menos para mi.!

saludos

Lepe 27-10-2006 18:57:39

En definitiva, tienes que dar más información de lo que quieres hacer. Así es imposible.

Lo normal es el OnCreate como ya han dicho, pero puede hacerse desde cualquier rutina.


La franja horaria es GMT +2. Ahora son las 07:16:28.

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