다음 간단한 형식 정의가 컴파일되지 않는 이유는 무엇입니까? 기록 또는 개체가 아닌 변수에서 속성에 액세스하려고 할 때클래스 멤버에서 속성 읽기
그것은 E2467 Record or object type required 제공type
SomeType = class(TObject)
ID: Cardinal;
end;
AnotherType = class(TObject)
Some: SomeType;
property ID: Cardinal read Some.ID; // E2467
end;
, 이 발생합니다.
그러나 Some
이 바로 대상입니까? 이것은 컴파일러 버그입니까 (저는 최신 XE2를 사용하고 있습니다)? 이것이 예상되는 행동이라면, 내가하려는 일을하는 올바른 방법은 무엇입니까?
여기서 "객체 유형"은 클래스 ('클래스 (TObject) '가 아닌) 이전의'object' ('SomeType = object')를 의미합니다. –