![]() |
Igualar un Form
Buenos dias. Estoy utilizando Delphi 6, y tengo un formulario que se llama
vformulario1:tformmio; vformulario2:tformmio; Despues en la ejecucion de la aplicacion al presentar el vformulario1.show igualo la variable vformulario2:=vformulario1;, esto con el fin de que no se este cargando informacion a cada rato. Pero al tratar de igualar nuevamente el vformulario1 con el 2 me marca un mensaje de Access violation. Mi duda es si alguien conece un metodo para copiar un formulario en otro utilizandolos como variable. Segun yo al decir vformulario2:=Vformulario1; toda la informacion de variables y objetos que son del formulario se tienes que heredar. espero que sea correcto, de lo contrario espero que alguien conosca algun metodo para igual un form en tiempo de ejecucion |
Al hacer vformulario2:=vformulario1 lo único que estas haciendo es igualando la referencia o puntero a el formulario, no estas creando una nueva instancia con todos los datos. La forma de asignar los datos de los objetos a otra instancia de objeto que propone borland, es a través del método Assign, pero paradójicamente muchas clases no tienen implementado este método pese a no ser clases abstactas. Yo te recomiendo replantearte si verdaderamente necesitas hacer algo como esto, y de ser así, sobreescribir el método Assing, copiar todos los valores que necesites para igualar dos instancias de tus forms, y luego utilizarlo como debe ser.
Saludos! |
Cita:
Hasta luego. ;) |
| La franja horaria es GMT +2. Ahora son las 04:28:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi