What's new in version 4 (October 2006)?

Top  Previous  Next


This section describes changes and new features in Pascal Analyzer version 4, compared to version 3.


Support for Delphi 2007, Delphi 2009 (Win32), and Delphi 2010 (Win32)

PAL also supports the latest Delphi versions, 2007, 2009 and 2010.



Excluded folders and files

There are new settings for excluded folders and excluded files in the Properties dialog for a project. By using these settings you can tell PAL which files to skip when parsing your source code.



HTML help

Pascal Analyzer now uses HTML help. The help texts are loaded from the PAL.CHM file.




The folder for project files is now as default "C:\Documents and Settings\<acc>\My Documents\Pascal Analyzer\Projects".



Section and report counters

In the report tree, many report sections show the number of reported items. From this version the old (previous) numbers could also be displayed, for comparison purposes. For example, this is a caption from the Optimization Report.


“(3) Virtual methods (procedures/functions) that are not overridden (was 5)”


The first number in parenthesis (3) shows the current number of warnings for this section. The second number (5) shows the number of warnings that were generated the last time this project was analyzed.  For reports that have not yet been run, the text “unknown” will be displayed, instead of a number.


It is possible to define masks for how the captions are displayed in reports and sections both when section counters are used and when they are not. In this way you can choose to display the caption in a customizable format, like


“Virtual methods (procedures/functions) that are not overridden (now 3, was 5)”


You can also customize colors for captions in the report tree. For example, an item with a growing number of warnings, can be displayed in red colors if you so like.



Separate threads for parsing and reporting

Parsing and reporting is now done by a separate working thread. This gives a more responsive user interface even during this process.


Pascal Analyzer 4 is also much quicker than its predecessor. It typically parses and generates reports about 25% faster.



New Strong Warnings Report

The Strong Warnings Report displays severe warnings. Those warnings points to errors in the source code that may lead to runtime failure of your product. The section “Property Access in read/write methods” reports methods where properties are accessed directly, causing infinite recursion.


The section “Ambiguous unit references” lists identifiers and locations with ambiguous references. This are locations with a reference to an identifier that is exposed by two or more used units. The compiler will search the uses list backwards for a suitable unit, which makes this very unstable and prone for mistakes.



New Directives Report

The new Directives Report displays information about directives. There are five sections:


- Identifiers marked with the “deprecated” directive

- Identifiers marked with the “experimental” directive

- Identifiers marked with the “library” directive

- Identifiers marked with the “platform” directive

- Identifiers marked with the “inline” directive



New To-Do Report

The new To-Do Report displays the to-do items that are entered in the special dialog box in the Delphi IDE, or inserted directly into the source code..



New Module Call Tree Report

The new Module Call Tree Report displays a hierarchical module call tree.



New sections in the Code Reduction Report

These sections are new in the Code Reduction Report:


- Unneeded boolean comparisons

- Boolean assignment can be shortened



New sections in the Convention Compliance Report

These sections are new in the Convention Compliance Report:

- Hard to read identifier names

- Label usage

- Bad class visibility order

- Identifiers with numerals

- Class/member name collision



New sections in the Warnings Report

These sections are new in the Warnings Report:

- Local for-loop variables read after loop

- Local for-loop variables possibly read after loop

- For-loop variables not used in loop

- Non-public constructors/destructors

- Functions called as procedures

- Mismatch property read/write specifiers



New section in the Memory Report

This section is new in the Memory Report:


The new section “Unbalanced Create/Free” reports object instances that are not created and freed the same number of times.



New section in the Uses Report

This new section in the Uses Report reports “Mutual unit references”, where two units reference each other.



New section in the Control Warnings Report

This new section in the Control Warnings Report reports controls with an assigned Hint property, where both ShowHint and ParentShowHint are “false”.



New section in the Uses Report for multiprojects

There is a new section in the Uses Report that for each unit reports which projects that reference it.



See also:


What's new in version 9?

What's new in version 5?