2009-07-27 64 views
6

我熟悉使用Delphi RTTI訪問「簡單」屬性(ints/enums/strings等),但我無法掌握如何使用數組屬性。如何使用RTTI訪問Delphi數組屬性

我首先查找GetPropValue/SetPropValue調用的數組等效項。我期望看到與這些類似的東西,但是需要額外的「索引」參數,但似乎無法在typinfo單元幫助中找到任何內容。

+1

你是指「數組類型的屬性」或「索引屬性」嗎? – 2009-07-27 21:19:10

+0

我的意思是:「Property Coords [Index:Integer]:Longint read GetCoord write SetCoord;」希望這是一個數組屬性? – Roddy 2009-07-27 21:29:31

回答

5

陣列和數組屬性不能爲它們提供RTTI,直到D2009。但是,當Barry Kelly在德爾福直播會議上談到計劃用於D2010的增強型RTTI系統時,他提到包括陣列在內的所有產品都有RTTI可用。所以這是一個值得期待的功能......

3

不確定是否有可能。無法發佈數組屬性,這意味着它們不能具有RTTI。

另外,如果您查看對象檢查器中的組件。這裏沒有數組屬性。所有數組屬性都有自定義編輯器(或者我必須錯過一些)。