FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cerrar una ventana desde otra
Hola, a todos , estoy utilizando delphi 6, Database desktop y las tablas en paradox. Gracias por la atención que me prestan, estoy desarrolando un sistema en el se cual manejan formas FsNormal y FsMDIChild, entonces estoy en una forma (ventana1) FsMDIChild y mando a llamar una(ventana2) FsNormal, estoy utilizando timers para que se despliegue esta y otra ventana tambien (Ventana3)FsNormal cada determinado tiempo cada una. El problema esta en que si desde la Ventana1 se llama la Ventana2 todo bien, si mientras esta cerrada la Ventana2 se despliega la Ventana3, todo sigue trabajando correcto, pero si mientras esta desplegada la Ventana2 y se llama la Ventana3, no logro cerrar la ventana2 y marca error al volver mandarla a llamar... espero haberme explicado... mi pregunta es ¿alguien sabe como cerrar una ventana FSNormal desde una FsMDIChild?, muchas gracias de antemano...
__________________
----------------->> Saluditos <<-----------------
|
#2
|
|||
|
|||
Una Prueba
Hola, has probado con CloseWindow(handle de la ventana que quieres cerrar).
Chau Saludos. |
#3
|
||||
|
||||
¿Puedes poner algo de código? El que utilizas para mostrar las ventanas. Eso tal vez ayudaría.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
mas dudas...
hola gracias por la ayuda , el CloseWindow nunca lo he usado pero hice la prueba segun con lo que entendi, pero sigo teniendo el mismo error:
Código:
Project NRC.exe raised exception class EInvalidOperation with message 'Cannot make a visible window modal1. Process stopped. use Step or Run to continue Código:
unit UMenu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ... ... procedure TFMenu.pendientes(Sender: TObject); begin MTabla.QComodin.Close; if ((varcon = 'S')OR(varresp = 'S') OR (varver = 'S') OR (varimp = 'S')) THEN begin FMensaje11.ShowModal; end end; procedure TFMenu.RelojTimer(Sender: TObject); begin //****************************************** //***mandara mensaje de si hay pendientes cada 20 segundos //******************************************* Mtabla.Session.Close; pendientes(Sender); end; procedure TFMenu.reloj2Timer(Sender: TObject); begin //****************************************** //***cerrara sesion en determinado momento cada 40 segundos //******************************************* Mtabla.Session.Close; if (reloj.Enabled = false) then //aqui confirmo que este desplegada //en pantalla la forma FMensaje11 FMensaje11.close; //aqui indico que quiero se cierre la forma //closeWindow(FMensaje11.Handle); // tambien lo intente con esta //instrucción y nada FSeguridad.ShowModal; // aqui mando a llamar otra y cuando cierro esta //se hace un llamado al proceso Pendientes end; Código:
FMensaje11.FormClose()
__________________
----------------->> Saluditos <<-----------------
|
#5
|
|||
|
|||
Otra Prueba
Aura, colocando la propiedad ModalResult en un valor distinto de cero. Es decir, cambiar el Fmensaje1.close; por FMensaje1.ModalResult=1;
Prueba con esto haber si te funciona. Saludos. |
#6
|
||||
|
||||
sigo probando
pues nada, puse el modalresult = 1; en lugar de FMensaje11.close puse FMensaje11.modalresult := 1 y me sigue marcando el mismo error.... mil gracias por el tiempo que toman en ayudarme.
__________________
----------------->> Saluditos <<-----------------
|
|
|
|