为什么下面的简单类型定义不能编译?
type
SomeType = class(TObject)
ID: Cardinal;
end;
AnotherType = class(TObject)
Some: SomeType;
property ID: Cardinal read Some.ID; // E2467
end;
它给出了E2467 Record or object type required,当尝试从不是记录或对象的变量访问属性时会发生这种情况。
但Some
它是一个对象,对吧?这是编译器错误(我使用的是最新的 XE2)吗?如果这是预期的行为,那么做我想做的事情的正确方法是什么?