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;
Neler oluyor burda? Statik bir dizi, "staticArray" özelliği ARRAY türünde olamaz "hata verir, ancak dinamik diziler iyi durumda mı? Kafam karıştı. Bunun arkasındaki akıl yürütmeyi bilen var mı, onun etrafında nasıl çalışabilirim? (Ve hayır, tüm statik dizilerimi dinamik olarak yeniden belirtmek istemiyorum. Bir nedenden dolayı boyutu onlardır.)Bazı diziler neden başkaları tarafından yayınlanamaz?
Sadece tek bir hassasiyet: bir kayıt yayınlanmış bir özellik olarak kullanılamaz. Ya da aslında, izin verilir, ancak bu alana bağlı bir RTTI yoktur. Bu nedenle, özelliklerin yayınlanmış bir bölümüne kayıt eklemek işe yaramaz. Oysa dinamik bir diziye izin verilir ve RTTI içinde ele alınır. –