FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Cómo saber si un formulario está creado?
Hola a tod@s.
Para hacer consultas de tablas tengo un formulario especial de la clase TForm llamado TNTConsulta. Cuando quiero hacer una llamada al mismo lo declaro como una variable local, lo creo y llamo a una función del mismo, de la siguiente manera:
.... bien, por otros temas necesito saber si la variable DialogoConsulta ha pasado ya por el .Create. He probado a ver si es igual a nil pero no lo es y con el depurador no se puede saber el valor que tiene hasta que no se ha creado, o sea, que no sé qué valor tiene antes de pasar por el .create. No se si me he explicado con claridad. Gracias y un saludo
__________________
Be water my friend. |
#2
|
||||
|
||||
Si tu variable fuera global en lugar de local —quizá tengas una variable llamada "NTConsulta"—, podrías usar "FreeAndNil (NTConsulta)" En lugar de "NTConsulta.Free". Hace lo mismo (destruir el objeto), pero asignándole Nil a la variable. Así es más fácil determinar luego si el objeto existe o no, esto siempre que no se dé el caso de tener dos formularios de consulta creados, pues la variable solamente puede apuntar a uno de ellos.
Regreso a la cama... |
#3
|
||||
|
||||
El caso es que Delphi no inicializa las variables locales, de ahí que no puedas saber qué valor tiene, es más, fuera de esa rutina ni siquiera sabes si ha sido creado o no.
Quizás puedas consultar el objeto Screen donde aparece todas las ventanas que tú has creado:
Otra cosa es que antes de crear la ventana, puedes asignar el valor nil a la variable temporar, así si puedes saber si ha sido creado. Incluso puedes usar FreeAndNil dentro de la rutina, como dice Al González, para testear su valor y tal.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
Ok, lo pruebo.
Gracias a ambos y un saludo.
__________________
Be water my friend. |
#5
|
||||
|
||||
Vale.
Esto me valdría, el problema es que el formulario no tiene FreeAndNil, solo Free . Imagino que si solo lo igualo a nil irá creando un formulario nuevo en cada .create, ¿no?, ¿qué solución se os ocurre?.
__________________
Be water my friend. |
#6
|
||||
|
||||
Se usa:
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Cómo saber si un objeto está ya creado? | noob | OOP | 6 | 14-02-2009 14:11:56 |
Como saber si un Formulario ha sido creado | Durbed | OOP | 7 | 13-10-2005 13:06:28 |
Saber si un formulario ya está creado o no. | Tecnic2 | OOP | 2 | 27-09-2004 13:27:01 |
Como puedo saber si esta creado un formulario??? | Roger | OOP | 1 | 13-04-2004 15:57:49 |
¿Cómo saber si un Form está creado? | nesetru | Varios | 5 | 09-02-2004 12:59:37 |
|