なぜ次のような単純な型定義はコンパイルされませんか?クラスメンバーからプロパティを読み取る
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を使用しています)?これは予想される動作である場合は、私がやろうとしている何をするための適切な方法は何ですか?
私はここで、 "オブジェクト・タイプは" 古い学校 'object'(' SomeType = object')ではなく、クラスを( 'クラス(TObjectを)')意味を推測。 –