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;
여기 무슨 일 이니? 정적 배열은 "게시 된 속성 'staticArray'는 ARRAY 유형이 될 수 없습니다. 그러나 동적 배열은 괜찮습니까? 나는 혼란스러워. 누구나 이것에 대한 추론을 알고 있으며 어떻게 해결할 수 있습니까? (정적 배열을 모두 동적으로 재 선언하고 싶지는 않습니다. 이유가 있기 때문에 크기가 맞습니다.)일부 배열을 게시 할 수 있지만 다른 배열을 게시 할 수없는 이유는 무엇입니까?
단지 하나의 정밀도 : 레코드는 게시 된 속성으로 사용할 수 없습니다. 사실, 허용되지만이 필드에는 RTTI가 붙어 있지 않습니다. 따라서 게시 된 속성 섹션에 레코드를 추가하는 것은 쓸모가 없습니다. 동적 배열은 RTTI 내에서 허용되고 처리됩니다. –