Google es inútil para este tipo de búsquedas, ya que obtiene cientos de millones de resultados absolutamente ninguno relacionado con la pregunta específica.Referencia de clase como propiedad
La pregunta es simplemente esto:
- ¿Es posible tener una propiedad Referencia Clase en Delphi?
- Si es así, ¿cómo?
Aquí es lo que he intentado ...
type
TMyObject = class
// ...
end;
TMyObjectClass = class of TMyObject
TMyObjectA = class(TMyObject)
// specifics here
end;
TMyObjectB =class(TMyObject)
// specifics here
end;
TMyComponent = class(TComponent)
private
FObjectType: TMyObjectClass;
published
property ObjectType: TMyObjectClass read FObjectType write FObjectType;
end;
El código anterior compila bien, sin embargo, el inspector de objetos no muestra la propiedad ObjectType
en absoluto.
Mi objetivo aquí (si no lo ha adivinado) es hacerlo para poder seleccionar un descendiente de clase de una clase base específica, para hacer que el mismo componente se comporte de una manera diferente.
Quiero hacerlo de esta forma para que el componente no necesite conocer directamente las subclases (debe ser totalmente modular).
Permítanme hacer esto poco claro: no puede utilizar una enumeración que elegir entre los tipos de sub-clase que el componente no puede enlazar directamente a los tipos de sub-clase (Simplemente no es posible en este caso particular)
De todos modos ... gracias de antemano!
El inspector de objetos no muestra la propiedad porque no hay un editor de propiedades registrado para ella. – kludg