![]() |
Como pasar un dato entre dos clases del tipo TProperty
Hola amigos
Sigo con el tema de creación de componentes y tengo el siguiente problema. Tengo dos clases, una del tipo TStringProperty y la otra del tipo TPropertyEditor.
Intenté hacer esto
Pero me da el siguiente error Cita:
Salud OS y gracias. |
Hola,
Me pierdo. Si se mostrase el código completo acaso podría hacerme una idea. Si instancias la clase "TKeyProperty", tal vez podrías acceder a dicha instancia y recuperar el valor que te interese, previamente guardado en la clase "TKeyProperty", es decir, utilizando una variable privada y una propiedad pública para acceder a la misma. Tal vez no te quede otra que utilizar una variable "global", a la que pudieras acceder tanto desde una clase como desde la otra. Tal vez el asunto pueda reconsiderarse de algún modo para evitar esto. La verdad es que me pierdo, ya lo he dicho. A lo mejor algún otro compañero, antes de tomarse las uvas (y el champán) puede decir algo. ¡O después! ;) |
Hola Dec
Este es el código
Gracias Salud OS |
Hola,
No estoy seguro, pero, parece lógico que pudieras acceder a las propiedades del componente, alguna de cuyas propiedades estés editando. Este artículo de Zarko Gajic tal vez indique que esto es así, puesto que en el mismo puede verse a un editor de propiedades accediendo a un "Component", que, si no me equivoco, debe ser el que se está editando, precisamente. Si es así, podrías acceder desde "TSubKeyProperty" a ese "Component", de modo que pudieras tomar el valor de la propiedad que te interese. Echa un vistazo a ver qué tal. ;) PD. Mirando en la ayuda se puede ver que los editores de propiedades cuentan con un método "GetComponent", que creo que podría usarse aquí como una posible solución, pero, ignoro si es la más elegante... desde luego sería mejor que utilizar una variable global, o tratar de acceder a la instancia de "TKey..." tal como dije antes: Cita:
|
Muchas gracias Dec, voy a intentar por ambas opciones, ya te dire que pasó, que pases un excelente fin de año.
Salud OS PD. Nos veremos el año próximo. :) |
Ignoro la estructura del componente pero como dice dec se puede acceder con GetComponent
basandose en la forma q registras los editores el componente en si seria:
si se esta trabajando con colecciones seria bueno q ComponentClass sea tu clase de TCollectionItem para evitar el manejo de indices. |
Hola ariefez
Muchas gracias, ya hice lo que me comentaste
Pero no me coloca nada en el frmSubKey.stKey.Caption. Seguire intentando, ya les dejaré saber los resultados. Es hora de salir con la familia. Feliz 2008. Salud OS |
Hola amigos
Ya solucione el detalle de pasar el valor de la propiedad de mi componente :).
Usé lo que me recomendaron GetComponent(0) pero con el nombre de la propiedad del componente (Key). Salud OS y gracias |
La franja horaria es GMT +2. Ahora son las 00:37:43. |
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