2009-07-27 7 views
6

? Estoy familiarizado con el uso de Delphi RTTI para acceder a propiedades "simples" (ints/enums/strings, etc.) pero no puedo entender cómo trabajar con las propiedades de matriz.¿Cómo accedo a las propiedades de matriz de Delphi usando RTTI

Estoy empezando por buscar equivalentes de matriz para las llamadas GetPropValue/SetPropValue. Esperaría ver similares a estos, pero tomando un parámetro adicional de "índice", pero parece que no puede encontrar nada en la ayuda de la unidad de typinfo.

+1

¿Quiere decir "propiedades del tipo de matriz" o "propiedades indexadas" aquí? –

+0

Me refiero a esto: "Property Coords [Index: Integer]: Longint read GetCoord write SetCoord;" con suerte, eso es una propiedad de matriz? – Roddy

Respuesta

5

Las matrices y las propiedades de la matriz no pueden tener RTTI para ellas hasta D2009. Pero cuando Barry Kelly habló en la conferencia Delphi Live sobre un sistema RTTI mejorado que está planificado para D2010, mencionó que todo, incluidas las matrices, tendría RTTI disponible. Entonces, esta es una característica que esperar ...

+3

Las matrices tienen RTTI: casi todos los tipos tendrán RTTI. "Propiedades de matriz", es decir, propiedades indexadas, no en D + 1. –

+0

Oh, no lo harán? Debo haber entendido mal entonces. –

3

No estoy seguro de si es posible. Las propiedades de matriz no se pueden publicar, lo que implica que no pueden tener RTTI.

Además, si mira los componentes en el inspector de objetos. No hay propiedades de matriz allí. Todas las propiedades de la matriz tienen editores personalizados (O debo haber perdido alguno).

Cuestiones relacionadas