samedi 14 juin 2008

Delphi Runtime Inspector

Il arrive, parfois, en cours de debug avec Delphi, de faire des évaluations avec CTRL+F7, du genre MonDataset.FieldByName('TOTO').AsString pour savoir sur quelles données on travaille. C'est facile, mais "un peu laborieux", surtout si le dataset en question contient beaucoup de données.

A regarder le problème de plus prêt, on remarque qu'il se pose à chaque fois que l'on a un objet "complexe", c'est à dire que sa classe est issue d'un lignée de dérivation plus ou moins longue.
En fait l'inspecteur d'objet de Delphi, n'est pas vraiment un inspecteur de TObject (il ne donne pas l'héritage ou la taille de la classe de l'instance). Il s'agit d'un inspecteur de TPersistent, c'est tout. Pas d'info concernant les données de TComponent, de TWinControl ou de n'importe quelle classe descendant de TPersistent.

Runtime Delphi Inspector est une librairie capable de me fournir un inspecteur d'objet à l'exécution. Cet inspecteur d'objet est personnalisable en fonction de la classe de l'objet à inspecter. Par exemple, l'inspecteur de TDataset contient un DBGrid capable d'afficher les données du TDataset à afficher. Une fenêtre d'inspecteur se compose de plusieurs onglets, associés à chaque niveau d'héritage.

Pour télécharger cette librairie : RtInspector