FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Form
Hola, porque no me cierra una ventana cuando en el onActivate, doy esta orden
if nvacio = 1 then form4.close; entra dentro del if, pasa por el close, pero sigue de largo, no se como hacer. Gracias. |
#2
|
||||
|
||||
Por favor, asigna títulos adecuados a tus mensajes y utiliza las etiquetas [code] o [delphi] para escribir código.
En cuanto a tu pregunta, no puedes cerrar una ventana desde el OnActivate u Onshow; esto es, no puedes cerrar una ventana que aun no termina de mostrarse. Lo que puedes hacer es lanzar enviar un mensaje personalizado con PostMessage y en el manejado de dicho mensaje mandar cerrar la ventana. Busca AfterShow o CM_AFTERSHOW en los foros para ver un ejemplo de lo que digo. // Saludos |
#3
|
|||
|
|||
En realidad SI se puede hacer eso. En el evento OnActivate del form podes cerrarlo sin problemas. Al menos eso me demuestra D2010.
Te recomiendo ke directamente no uses el identificador del form (o sea, "form4"). Simplemente ponele Close; Sino, también podrias ponerle Self.Close;
Saludos! |
#4
|
||||
|
||||
¿Seguro que así se cierra?
|
#5
|
|||
|
|||
Sip. Estaba seguro que si, pero lo probé antes de comentarlo por las dudas
|
#6
|
||||
|
||||
A mi me funciona tanto en el OnShow como en el OnActivate, pero, sólo si es el formulario principal. Si se usa Show para mostrar otro formulario, entonces no cierra. De hecho, me lanza la excepción:
--------------------------- Project1 --------------------------- Cannot change Visible in OnShow or OnHide. --------------------------- Aceptar --------------------------- // Saludos |
#8
|
|||
|
|||
Cita:
Bueno, la única solución que le veo es desde el form que lo invoca.
Última edición por BrunoBsso fecha: 24-02-2010 a las 04:39:24. Razón: Puse mal los Forms |
#9
|
|||
|
|||
Cita:
Saludos! Última edición por BrunoBsso fecha: 24-02-2010 a las 04:43:26. Razón: Pongo mal los tags de delphi siempre, no me acostumbro :) |
#10
|
||||
|
||||
Puede hacerse como lo indiqué en mi primer mensaje. No obstante, yo concuerdo más contigo en el sentido de que quien debe hacer la comprobación es el formulario que llama.
// Saludos |
#11
|
|||
|
|||
Form cerrarlo en el onActivate
Gracias a todos, probe
if nvacio = 1 thenbeginIf Form4.visible = true thenform4.close;end;Pero me pasa de largo, tendria que existir una instancia porterior al onActivate, para cerralo ahi. |
#12
|
||||
|
||||
La respuesta está desde mi primer mensaje.
// Saludos |
#13
|
|||
|
|||
Ya te dimos 2 soluciones
Cita:
Cita:
Las dos te van a andar perfecto, parece que no las leíste. Última edición por BrunoBsso fecha: 24-02-2010 a las 21:02:52. Razón: Los tags... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Determinar en un Form Principal cuando se Cierra un Form Hijo | Efren2006 | OOP | 5 | 26-02-2009 20:08:35 |
llamar al evento click de un boton q se encuentra en un form desde otro form | TURBOIGOR | OOP | 6 | 02-12-2008 14:50:16 |
Como llamar form desde otros form y regresar a la linea que se estaba ejecutando | Willy Rodrigo | C++ Builder | 1 | 03-08-2007 19:36:23 |
Form modal deja que el form llamante tome el foco | tata | Varios | 6 | 17-05-2006 11:51:37 |
Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 21:41:08 |
|