Abrir la misma ventana varias veces
Hola!!!
cómo lo dice el titulo de mi mensaje me gustaria conocer como se pueden abrir la misma ventana varias veces en tiempo de ejecución, siendo una independiente de la otra. En otras palabras la idea sería abrir la ventana a tantas veces como el usuario lo desee. Gracias |
Hola,
Depende de lo que quieras conseguir, pero, una forma simple puede esta:
|
Otra forma más:
El punto es usar una variable local "OF", dentro de la rutina puedes usarla para lo que quieras. Cuando salga del procedimiento, se pierde la variable OF, pero la ventana tendrá su ciclo de vida normal. Si necesitas buscar alguna ventana, consulta el objeto "Screen" de delphi, donde se enumeran todas las ventanas creadas de tu aplicación. Saludos |
Hola,
Cita:
Pero, vamos, que, la magia del "with" llega hasta donde llega. :) |
Hola, subzero.
¿Cuántas ventanas quieres? ¿10, 100?
Pero tengo una duda: para liberarlas de la memoria basta con pulsar la X, pero, ¿y si las quiero eliminar por código, es suficiente llamar al método Close, o hay que hacer algo más? Saludos. |
Hola,
Podrías buscar un formulario partiendo de "Screen.Forms", empero,... dándole un padre, como se da a los formularios, cuando el padre se libere se encargará de hacer lo propio con sus hijos. Pero, vamos,... como dije al principio, depende de cómo se vea el asunto, según lo que quiera conseguirse, podría optarse por varias soluciones, estoy seguro. :) |
Al crear la ventana así, estás diciendo que el dueño es "Self", y es equivalente a decir que será la ventana donde está el botón. Al cerrar la ventana de tipo TForm1, se cerrará todas las ventanas que has creado en ese bucle for. También puedes crear la ventana así: En este caso asegúrate de poner action := cafree; en el evento OnClose de TOtraVentana, al cerrarla, se libera de RAM. En este caso, llamando por código al método Close, también se libera de RAM. Por cierto dec, en tu mensaje anterior has dicho "padre" (que podría confundirse con la propiedad Parent), estoy seguro que has querido decir "dueño", (del parámetro AOwner). Saludos |
Hola,
Sí; llevas razón Lepe. Debería haber dicho "dueño" y no "padre", que no es lo mismo. :) |
Gracias a todos... tan pronto como pueda voy a revisar... gracias por colaborarme.
|
La franja horaria es GMT +2. Ahora son las 01:24:59. |
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