FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|