Delphi IDE Explorer Expert

Based on a similar expert by David Hoyle for Delphi 3/4/5, which I found on Embarcadero CodeCentral, I have written the Delphi IDE Explorer Expert for Delphi 6 and later. It is a package based expert that installs into the Delphi IDE and displays its internal component structure.

The original purpose was to find the button for showing and hiding the background for the Firemonkey mobile form designer and turn the bloody thing off for good. Unfortunately I could not find that form and that button, so I assume it’s not written with the VCL but itself a Firemonkey form.

Display Properties

The tree view on the left hand side displays the hierarchy of the components as it is available via the global VCL and FMX Screen objects. The he right hand side shows the published properties …

Display Events

… the published events …

Display Inheritance

… the inheritance hierarchy …

… or the parents of the selected component.

For menus it shows the submenus the selected menu contains.

For action lists, it shows the actions the selected action list contains.

The expert also allows to filter for specific class types, e.g all TAction, TActionList etc. objects.

Filter Dialog

If you activate the “Follow Focus” option, it will always select the control that currently has the focus inside the IDE. This helps a lot if you want to find out what a particular control is called and where in the hierarchy it is located. It’s a bit slow though due to parsing the form hierarchy every time the focus control changes.

And then there is a special feature: The IDE Explorer window remains active even if the IDE displays a modal dialog. So it is possible to e.g. open the Project Options dialog and while it is open switch back to the IDE explorer and inspect the controls it contains in detail.

DelphiIDEExplorer-for-Berlin

The full source code is available from SourceForge.

David has since updated his IDE Explorer to support Delphi 2009 and later. It now not only displays published properties and events but additional information available through the new RTTI functionality which was introduced in Delphi 2009.

Also, there is another similar expert written by Rudy Velthuis.