FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Acceso a objetos/propiedades de otro Form
Haber si me podeis explicar esto que no entiendo:
Desde el Form1, el principal de la aplicacion, creo otro formulario, por ejemplo así: Si desde el Form2 quiero acceder a alguna objeto/propiedad del Form1, me basta con añadir en el Unit2 lo siguiente: Hasta aquí todo bien, si ahora vuelvo a crear otro form desde el Form2, así: Si ahora quiero acceder a algun objeto el Form2 se supone que debo incluir: Pues no funciona, lanza una excepción EAccesViolation, y lo curioso es que en tiempo de diseño si que puedo acceder perfectamente a los objetos/propiedades del Form2. Es mas, si incluyo Unit1 en el uses puedo acceder sin problemas a los objetos del Form1. Debo cometer algun error que no consigo ver. Utilizo Delphi XE i Windows XP |
#2
|
||||
|
||||
Y, ¿de qué manera intentas acceder a Form2 desde Form3? Yo creo que estás trantando de hacerlo usando la variable que crea delphi por defecto cuando añades un formulario a tu aplicación, pero cuando creas tu Form2 desde el principal, no estás usando dicha variable sino un objeto creado al vuelo.
// Saludos |
#3
|
|||
|
|||
Al crearse el Form2 se declara la variable:
Todos las propiedades/funciones/etc. de ese Form creado en ejecucion se acceden sin problemas así: Lo que no comprendo es porqué no puedo acceder a ellas desde el Form3 creado también en ejecución. |
#4
|
|||
|
|||
#5
|
||||
|
||||
Cita:
Lo que debes entender es que no es lo mismo el form que se declara al añadir el formulario, que el que estás creando en TForm1.Button1Click. Otra cosa sería si pusieses:
Porque aquí sí estás asignando a la variable Form2 el objeto que creas. // Saludos |
#6
|
|||
|
|||
Aaaah! Claro! Ahora lo entiendo (bueno, más o menos), si declaro la variable Form2 en la Unit1 si que puedo acceder desde otras Unit.
Muchas gracias por su ayuda. Saludos |
#7
|
||||
|
||||
Hola adrall.
Cita:
Se crea una instancia de la clase TForm2, pero no fué asignada a ninguna variable, no hay forma de referenciarla si no es dentro del width de ese procedimiento. Ahora comparalo con el código de román: Ahora sí podes referenciar la instancia mediante la variable Form2. Cita:
Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Propiedades y el Inspector de Objetos | mcsebas | OOP | 6 | 18-02-2011 18:25:29 |
Crear una clase y asignar objetos como propiedades | leanfreue | OOP | 4 | 13-04-2007 01:08:33 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 13:58:22 |
Accesar a las propiedades de otros objetos | sharky | Varios | 2 | 08-12-2004 00:58:55 |
Problema acceso propiedades de un componente de otro formulario | mguixot | OOP | 3 | 01-11-2004 02:40:09 |
|