Object Data

Object information for the currently selected unit in the "Unit List" is displayed in the Object area, this has two lists. The first is a tree that groups items by catagory e.g. Classes, Records, Methods... The second is an alphabetical list of identifiers.

Tree View

The "Tree View" presents objects in a structured way grouping items into logical catagories, facilitating navigation to related items. For example if you view the VCL GRIDS unit and look at TCustomeGrid.GridRectToScreenRect you will see,

This shows it has three parameters "GridRect", "IncludeLine" and "ScreenRect", two sub-methods "CalcAxis" and "LinePos", and two local variables "DrawInfo" and "Hold".

The main catagories in the tree are,

<Errors>

Errors indicate a failure to parse a unit either because of an unknown syntatical construct, a unit could not be found or the format of the data is not supported, as is the case with binary DFMs. The latter case can be resolved by configuring DelphiXPG to use the convert.exe command-line utility, see Binary DFMs for more detail.

Line:- 1 (1) DFM in binary format.
ÿ
^

Failure to parse a syntatical construct should be reported to the support desk, please e-mail an example to support@DelphiXPG.com. The parser will be modified to cater for this construct.

When an error is detected parsing of the current unit is terminated. As the entire unit has not been parsed there may be references to object definitions that do not appear in the XRef cross-reference.

If a unit could not be found the you may need to add additional items to the search path for this project, see Project Search Path for more details.

Units that have an error are highlighted in the unit list with a icon.

<Warnings>

Warnings occur when there is a failure to identify an overloaded method, this happens when the parser fails to identify the data types of arguments parsed to a method. For example .NET VCL make extensive use of overloaded methods and Borland.Vcl.Classes produces an number of warnings,

Line:- 4653 (12) Failed checking for overloaded method 'READ'.
    Stream.Read(Buffer, Size);
___________^
Line:- 4761 (12) Failed checking for overloaded method 'WRITEBUFFER'.
    Stream.WriteBuffer(Preamble, Length(Preamble));
___________^
Line:- 4762 (10) Failed checking for overloaded method 'WRITEBUFFER'.
  Stream.WriteBuffer(Buffer, Length(Buffer));
_________^

Note: Parsing of a unit is not terminated then a warning is generated.

Units that have warnings are highlighted in the unit list with a icon.

<Conditionals>

The conditionals object shows information collected by the pre-processor.

The information is divided into three catagories

Symbols

The Symbols tab shows all symbols alphabetically in a tree view, expanding a symbol shows actions applied to it.

Expanding an action lists the source lines the action took place on.

Clicking on a line number jumps to the source for the action.

Excluded code

The excluded code tab lists sections of code removed by conditionals. The list contains the first and last lines of code removed, the symbol causing the removal and name of the file effected. A blank file name indicates the currently selected unit otherwise it will show the name of an include file.

Clicking on a line in the list jumps to the location of the removed code.

Pre-processor log

The pre-processor log tab lists output from the pre-processor. Each item in the list gives the following information,

  • Line number for the item
  • Conditional symbol
  • Action on the symbol
  • Value of the action
  • File effected by the action, blank indicates currently selected unit.

Clicking on a line in the list jumps to the location of the action.

Classes

The classes sub-tree holds a list of all classes defined in the current unit. Within each class item are listed fields, methods and properties.

This example shows the first few classes defined in the System unit.

Constants

The constants sub-tree lists all global contants defined in the current unit.

This example show the global constants defined in SysUtils.

Enumerations

The enumerations sub-tree lists all global enumerations defined in the current unit.

This example shows the enumerations defined in the System unit.

External References

The external references sub-tree lists all units that reference the current unit and details which items are being referenced.

This example shows which objects from SysUtils are referenced from unit Classes.

Interfaces

The interfaces sub-tree holds a list of all interfaces defined in the current unit. Within each interface are listed their methods.

This example shows the IDesignerNotify interface defined in unit Classes.

Methods

The methods sub-tree lists all methods defined in the current unit. Within each method is any local constants, type definition, local varaibles and parameters.

This example shows the TransparentStretchBlt method defined in unit Graphics.

Other Types

The others sub-tree show the data types that do not fall into any of the other catagories, these include aliases, procedure types,...

In this example you can see the definition of alias HENHMETAFILE in unit Graphics.

Records

The records sub-tree holds a list of all records defined in the current unit. Within each record item are listed fields, methods and properties.

This example shows TBrushData defined in unit Graphics.

Resource Strings

The resource strings sub-tree lists all the resource strings defined in the current unit.

This example shows SAccessDenied defined in unit SysConst.

Strings Literals

The strings literals sub-tree lists all strings defined in the current unit.

This example shows '''%s'' is not a valid date' defined in unit SysConst.

Unknown

The unknown sub-tree lists all unknown data types in the current unit.

This shows ThrdDemo example parsed with out "Deep Parse" switched on, the list of unknowns contains the VCL components.

Uses

The uses sub-tree lists all units referenced from the current unit. Under each item is detailed what is referenced from this unit.

This shows ThrdDemo example parsed with "Deep Parse" switched on and show TWinControl.Repaint being referenced.

Uses (Implicit)

The implicit uses sub-tree lists all units implicitly referenced from the current unit, they do not appear a use clause. Delphi automatically use the System unit.

In this tree you will also find a pseudo unit "Fundamental" which lists the fundamental data types and values used.

In this example you can see Borland.VCL.Controls has been implicitly used, a reference to TWinControl.GetText has been accessed through the TCustomEdit component.

Variables (Global)

The vars sub-tree lists the global variables in the current unit.

This example shows the global variables in unit ThSort in the ThrdDemo project.

Identifiers View

The "Identifiers" view provides an alphabetical sorted list of items referenced from the selected unit. Items are qualified where neccessary with the object that contains them.

<< Unit List Contents XRef List >>
Copyright © 2005-2010, Simon Cox