![]() |
Problema al acceder a los controles dentro de un TFrame
Hola chicos de este foro:
Les cuento que estoy haciendo una aplicación con del delphi7 y en mi formulario principal se me ha ocurrido crear de forma dinámica unos frame como les muestro.
y los libero a través de este procedimiento:
Hasta ahí todo sin problema, pero ... a la hora de acceder a algunos de los componentes de esos Frame, digamos por ejemplo un TListView desde otro formulario ahi me da error, mejor dicho no he podido lograr concretar la linea de código. Ya estan agregadas las uses Bodegas y Principal al formulario Principal puedo acceder sin problema por ejemplo:
Cita:
Lo he intentado con: [Error] ActBodega.pas(154): Undeclared identifier: 'miFrame' [Error] ActBodega.pas(154): Undeclared identifier: 'BodegaFrame' [Error] ActBodega.pas(154): Undeclared identifier: 'ListViewBodega' [Error] ActBodega.pas(154): Undeclared identifier: 'BodegaFrame' Amigos mios no se que hacer ademas de alarme los pelos !!! Si alguien me pudiera ayudar se los iba agradecer Mil gracias de antemanos, Salu2. |
¿Cómo declaras miFrame?
Supongo que es una propiedad del formulario principal: o Aunque también puede declararse fuera como una variable más:
Si es de la primera manera no podrás verlo, porque es una propiedad privada del form PrincipalForm. Si es de la segunda, deberás llamarlo de la siguiente manera, cuando lo llames desde otro formulario, como parece ser el caso. PrincipalForm.miFrame.ListViewBodega; Si es de la tercer manera, debería funcionar como lo has hecho. miFrame.ListViewBodega |
Hola delphianos, les comento que tengo declarado el frame de esta forma:
Acá puedo acceder a el como bien decía duilioisola así:
Lo que no puedo acceder a los controles que ella contiene, digamos por ejemplo Labels, ListView, Button ... Undeclared identifier: 'ListViewBodega' Podría ser de que como miframe se crea en tiempo de ejecución, hasta el momento el no tenga realmente el contenido de TBodegaFrame.
Lo que si es cierto es que aun no logro acceder a sus controles para interactuar con ellos, digamos por ejemplo que es el caso que me ocupa: Desde el TBodegaFrame (miframe) llamo a otro formulario ProcesaBodegaForm donde desde el me van a introducir unos datos con los cuales luego de validarlo y procesarlo muestro el resultado en el ListViewBodega. en espera de sus comentarios y respuestas, y miles de gracias de antemano... Lo saluda, Yo.:confused: |
Supongo que lo que te falta entonces es un cast
Código:
TBodegaFrame ( PrincipalForm.miFrame ) .ListViewBodega; TFrame tiene nombre, Parent, y otras propiedades comunes a todos los objetos, pero no tiene las de TBodegaFrame. Cuando creas miFrame le dices que es del tipo TBodegaFrame. Cuando llamas a sus propiedades, debes decirle que mire los datos como un si fuera TBodegaFrame. |
Ok
Gracias amigos era solo eso lo que faltaba ...
|
La franja horaria es GMT +2. Ahora son las 12:53:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi