2010-12-01 5 views
4

기본적으로 2010 아래 버전의 RTTI는 게시 된 클래스 멤버에 대해서만 만들어집니다.공개 메소드에 대해 RTTI를 지원하는 Delphi 버전은 무엇입니까?

2006 년 블로그 (http://hallvards.blogspot.com/2006/09/extended-class-rtti.html)에서 $ METHODINFO (또는 $ M)를 사용하여 공개 및 게시 된 메소드가 포함되어 있음을 읽었습니다. 델파이 6 이후?

블로그 항목은 말했다 :

을 새로운 "에서 WebSnap의 내용은" "(D6와 D7에 문서화 된) $ METHODINFO ON 컴파일러 지시어 공공 및 게시 방법에 대한 확장 된 RTTI를 생성하는 데 사용됩니다." ... "업데이트 (2007 년 10 월 27 일) : $ METHODINFO는 델파이 7이 아닌 델파이 7에서 처음 사용 가능했습니다.

+3

$ METHODINFO는 메소드에만 적용되고 속성에는 적용되지 않습니다. – dthorpe

+0

@dthorpe 힌트를 주셔서 감사합니다. - 작동하지 않는 공용 속성에 대한 보조 노트를 삭제했습니다. – mjn

+2

$ METHODINFO가 CORBA 개체와 함께 사용되는 인터페이스 리모팅 (동적 스텁 + 프록시 생성)을 지원하기 위해 컴파일러에 추가되었습니다. – dthorpe

답변

2

Delphi 2010 및 이후 버전의 새로운 RTTI는 원하는 것을 지원합니다.

Delphi 2009 및 그 이하 버전에서는 운이 좋지 않습니다.

+0

델파이 2010은 훌륭하지만, 나 아니야 업그레이드 할 수없는 (또는 할 수없는) 다른 사용자들이다. 어쨌든 질문은 지식 격차를 좁히기위한 것입니다 :) – mjn

+0

델파이 7도 그렇게합니다 (적어도). Delphi 2010은 더 많은 것들을 지원합니다. 실제로, 단순히 "지원"하지는 않지만 그것을 버리고, 원하지 않으면 끄기를 요구합니다. 이전에 없어도 얻을 수있는 경우는 그렇지 않습니다.). – Deltics

+0

@mjustin : 문제 없음; 사실을 진술하는 것만으로도 다른 사람들도 혜택을받을 수 있습니다. –

관련 문제