次の単純な型定義がコンパイルされないのはなぜですか?
type
SomeType = class(TObject)
ID: Cardinal;
end;
AnotherType = class(TObject)
Some: SomeType;
property ID: Cardinal read Some.ID; // E2467
end;
E2467レコードまたはオブジェクトタイプが必要です。これは、レコードまたはオブジェクトではない変数からプロパティにアクセスしようとしたときに発生します。
しかしSome
、オブジェクトですよね?これはコンパイラのバグですか(最新のXE2を使用しています)?これが予想される動作である場合、私がやろうとしていることを行うための適切な方法は何ですか?