Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Igualar un Form (https://www.clubdelphi.com/foros/showthread.php?t=23022)

cesar_picazo 04-07-2005 18:42:28

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

delphi.com.ar 04-07-2005 19:18:31

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!

jachguate 04-07-2005 20:40:58

Cita:

Empezado por cesar_picazo
esto con el fin de que no se este cargando informacion a cada rato.

¿por alguna razón en particular? No he tomado directamente el tiempo que toma crear un formulario, pero he podido percibir que es realmente corto. A menos que estes creando cientos o miles de formularios en tiempos cortos, no creo que tenga una incidencia real en el desempeño, por lo que me parece que tratar de solucionar esto de otra forma es una pérdida de tiempo.

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