Esto del RTTI (Runtime Type Information) existe hace muchos años, permite obtener en run-time la información de los objetos cargados en memoria.

Una de mis intenciones es conseguir serializar / deserializar como XML mediante el uso de RTTI. Deseadme suerte.

Un ejemplo rudimentario. Para obtener la lista de propiedades (published) y eventos de un Tform:


Una desventaja que yo le veo al RTTI es que sólo puedes obtener información de las propiedades marcadas como published. Por suerte a partir de Delphi 7 existe una extensión del RTTI que compilando el código mediante la directiva $METHODINFO ON es posible obtener información de métodos y propiedades marcadas como public, en éste enlace mas información.

Mas información:

http://www.orlandobrea.com.ar/2006/02/reflection-en-delphi.html
http://delphi.about.com/od/oopindelphi/a/delphirtti.htm
http://chris.lichti.org/Lab/RTTI_Lib/RTTI_Lib.shtml
http://homepages.borland.com/jedi/jcl/