What's new in Pascal Analyzer 7?

This is a description of the changes and new features in Pascal Analyzer version 7. The new version has been enhanced with a lot of smaller and greater features. Together they make this upgrade the best one in the history of Pascal Analyzer. There is now a total of 51 reports, with altogether 210 report sections. Also there are four special multi-reports.

Support for Delphi XE5, XE6 and XE7
This version adds support for Delphi XE5, XE6 and XE7 (all compiler targets including iPhone and Android mobile devices). Double-clicking on a report line in Pascal Analyzer will optionally jump to the correct location in the Delphi IDE.

Generate CHM files
It is now possible to also generate a CHM file for the collection of HTML pages that are output. The CHM file is compressed, and features full-text search.


Reports in CHM-file

Mouse wheel support
Use Ctrl+MouseWheel in reports and in the source viewer to temporarily increase/decrease font size.

Excluded files
This setting as default used to specify "Windows.pas;System.pas". But in this version it is changed to "System.pas". This means that Windows.pas will also be parsed, if found by PAL. The analysis will take a bit longer to run, but the results will be more accurate and complete.

Status Report
The Status Report now, as last section, lists all files that have been found and loaded. Use the list to check if PAL has found all the expected files.

New pane on status bar
The status bar at bottom of the main window has got a new section, telling the compiler target for the currently loaded project. Like "Delphi XE5 (Win32)" for example. It also shows a representative glyph for the selected Delphi version.

Redeclared identifiers
There is a new section in the Warnings Report that lists redeclared identifiers from the System unit. Although allowed, this is a source for confusion when maintaining the code.

Identifier with same name as keyword/directive
There is a new section in the Warnings Report that lists identifiers that have the same name as keyword/directive.

Different string types in Totals and Module Totals Report
These two reports now also lists the number of different types of strings, like UnicodeString and WideString.

Misc. bug fixed
Some small bugs, both in the parser and report builder have been fixed.

Predefined identifiers from System unit
Identifiers from System unit are preloaded by PAL. This feature has been totally reworked, resulting in much more accurate results.

Improved handling of safe calls
Calls to functions that do not require the passed variable to be initialized, like SizeOf(), are better detected in this version, leading to more accurate results.

New section in Strong Warnings Report
This new section reports subprograms that unconditionally call themselves recursively.

Totals for reports
In the report list, total hit numbers (if activated) are also displayed for report groups and as a grand total for all reports. This makes it easier to spot the difference between two separate runs.