Давно я не следил за Delphi. А тем временем появились интересные статейки про RTTI в Delphi 7:
http://hallvards.blogspot.com/search/label/RTTI (начиная со второй страницы)
http://www.transl-gunsmoker.ru/search/label/RTTI (перевод)
http://cc.embarcadero.com/item.aspx?id=24074 (готовые модули)
В Delphi 7 RTTI весьма разрозненно реализован. Самое простое — это свойства, их мы находим в TypInfo.pas. Далее, чтобы загрузка формы из ресурса могла работать, нужно находить published поля. Это мы находим где–то в Classes, в реализации, без публичного интерфейса. Наконец, самое сложное — published методы. Чтобы при загрузке формы из ресурса можно было назначать методы, адрес published метода можно искать по имени, но и только–то. Перечисление методов — опять лезть во внутренности, не имея публичных интерфейсов. При этом сигнатуры published методов недоступны. Если читать блог по порядку, то сначала автор конструирует самодекомпилятор для методов, перечисляя событийные свойства и используя сигнатуры событийных свойств. Если метод не назначен ни на какое событие, сигнатура недоступна. Далее автору, видимо, подсказали про модуль ObjAuto и директиву $METHODINFO, и на этот раз рефлексия сделана без хаков.
После 7й Delphi RTTI был существенно расширен в Delphi 2010. Появился модуль Rtti.pas, где всё приподнесено на блюдечке. Так даже неинтересно.