![]() |
||||||||
![]() |
||||||||
Object DataObject 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 ViewThe "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 <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 <Conditionals>The conditionals object shows information collected by the pre-processor.
The information is divided into three catagories SymbolsThe 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 codeThe 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 logThe pre-processor log tab lists output from the pre-processor. Each item in the list gives the following information,
Clicking on a line in the list jumps to the location of the action. ClassesThe 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. ConstantsThe constants sub-tree lists all global contants defined in the current unit.
This example show the global constants defined in SysUtils. EnumerationsThe enumerations sub-tree lists all global enumerations defined in the current unit.
This example shows the enumerations defined in the System unit. External ReferencesThe 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. InterfacesThe 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. MethodsThe 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 TypesThe 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. RecordsThe 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 StringsThe resource strings sub-tree lists all the resource strings defined in the current unit.
This example shows SAccessDenied defined in unit SysConst. Strings LiteralsThe 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. UnknownThe 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. UsesThe 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 ViewThe "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.
|