FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Abrir a la vez el mismo form con diferentes datos
Tengo un form con varias etiquetas, combox y demás. Me gustaría que en tiempo de ejecución se pudieran abrir varios forms con distintos datos dentro de algunas de las etiquetas, pero que no se cerraran los anteriores.¿Cómo puedo hacerlo?
|
#2
|
||||
|
||||
Hola,
Declarando variables del tipo del formulario "plantilla", supongo. No sé si convendría declarar algún "Array" del tipo del formulario "plantilla", pero, en todo caso, creando tantas variables del tipo de formulario "plantilla" como tengas pensado utilizar. De todas formas no sé qué escrúpulos me deja esta respuesta que no me queda del todo contento. Es posible que se me esté escapando algo, o, sencillamente, que halla otras formas de lograrlo más eficientes. |
#3
|
||||
|
||||
Similar respuesta, pero con otra técnica:
ListaVentanas es un Array pero de objetos, así no creamos variables para cada una de las ventanas, por contra, tendremos que acceder a través de su "indice". Dependiendo de la implementación, quizás se pueda acceder a través de ListaVentanas.IndexOf Busca por TobjectList, se ha explicado muchas veces su uso Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 28-07-2005 a las 19:29:02. |
#4
|
||||
|
||||
Resp
Con la misma llamada puedes crear 50.000 formas. Si quieres verstilidad haslo en un procedimiento teniendo por parametro los valores que quieres asignar a los controles.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#5
|
||||
|
||||
Creo que hasta ahora se han dado respuestas complejas a un asunto que tiene una solución mas fácil (en principio):
Es perfectamente posible tener mas de una instancia de una clase formulario, donde cada una maneje sus propios datos independientemente. Ejemplo: Tenemos una forma (TForm1) con un Label1, ComboBox1 y Edit1. Para no complicar mas el asunto aquí, accederé directamente a los valores de estos controles, aunque lo ideal es publicar propiedades y encapsular estos detalles. Ahora:
Probá el código y me contas. Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
Muchas gracias amigos, me ha funcionado correctamente, ahora mi único problema es que no sé que instruccion he de usar para cerrar cada uno de ellos. muchas gracias
|
#7
|
||||
|
||||
Depende de la opción que estes usando:
- Si usas la opción de jachguate, usa el evento OnClose y añade
Solo queda el problema de que la variable Forma1 y/o Forma2 no apunta a nil, a ver si jachguate nos dice como identificarlo. Con la solución que propuse yo:
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
||||
|
||||
Buen día
Cita:
Al final, lo que yo he puesto antes como ejemplo, es solo eso, un ejemplo, que da la idea y demuestra la capacidad de independencia entre dos instancias. Por último, aclaro que en muchos casos no hace falta mantener una lista independiente de las ventanas creadas, en algunos si... siempre depende de la situación. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|