type
TStaticArray = array[1..10] of integer;
TDynamicArray = array of integer;
TMyClass = class(TObject)
private
FStaticArray: TStaticArray;
FDynamicArray: TDynamicArray;
published
property staticArray: TStaticArray read FStaticArray write FStaticArray; //compiler chokes on this
property dynamicArray: TDynamicArray read FDynamicArray write FDynamicArray; //compiler accepts this one just fine
end;
¿Qué está pasando aquí? Una matriz estática da el error, "propiedad publicada 'staticArray' no puede ser del tipo ARRAY" pero las matrices dinámicas están bien? Estoy confundido. ¿Alguien sabe el razonamiento detrás de esto, y cómo puedo evitarlo? (Y no, no quiero redeclarar todas mis matrices estáticas como dinámicas. Son del tamaño que son por algún motivo)¿Por qué se pueden publicar algunas matrices pero no otras?
Solo una precisión: un registro no se puede utilizar como una propiedad publicada. O, de hecho, está permitido, pero no hay ningún RTTI conectado a este campo. Por lo tanto, será inútil agregar un registro en una sección publicada de propiedades. Mientras que una matriz dinámica está permitida y manejada dentro del RTTI. –