RTTI en Delphi a toujours été important depuis la version 1.0. Classique RTTI fonctionnalités incluent la "publié" section propriétés de Classes, ce qui a permis de l'Inspecteur d'Objet et le composant fonctionnalités à la conception du travail. Pour ma part, j'utilise régulièrement Publié des propriétés de la classe pour permettre l'énumération de ces propriétés au moment de l'exécution. Pour stocker des choses de mes objets sur le disque, pour la persistance.
Le Delphi 2010 RTTI étend cette classique RTTI massivement, de sorte que beaucoup de sorte que vous pourriez être pardonné de penser Delphi n'a même pas le RTTI jusqu'à ce que delphi 2010.
Je dirais le n ° 1 de la plupart des applications utiles de "La Nouvelle RTTI" sont (comme plusieurs autres réponses déjà état) va être dans des Cadres, écrits par les gourous, que:
Gérer la persistance de fichiers ou de bases de données. Base de données et de configuration ou d'un document d'enregistrement/chargement des cadres et des composants utilisez ce sous le capot.
Poignée de décapage/ordonnancement/encodage/décodage et de divers
sur-le-fil formats, comme JSON, XML, EDI, et d'autres choses.
Les tests unitaires a été mentionné par quelqu'un d'autre (JUnit), mais je pense que peut-être les mêmes cadres pourrait être vraiment pratique pour le débogage et l'erreur d'outils de reporting. Étant donné un objet passé en paramètre, sur la pile, pourquoi ne pas avoir des rapports de bogues qui peuvent vider toutes les données qui ont été transmis à une fonction qui a échoué, et pas seulement une liste de fonctions?
Comme vous pouvez le voir, certaines personnes créatives sont enclins à penser de même plus d'utilisations pour cela. On pourrait dire, que même si elle n'apporte pas la parité .NET réflexion (une autre réponse qui parle le plus sur), elle apporte beaucoup de "dynamique du langage" caractéristiques (Pensez à Perl, Python, JavaScript) à un autre fortement typé statique type de systèmes dans le monde de Delphes.