v7.0 [4 Jan 2014]
- last section for Strong Warnings Report was not displayed in tree
- fixed error resolving generics usage
- improved resolving of calls to overloaded functions
- fixed error suppressing lines with "PALOFF"
- Searched Strings Report now displays file names instead of unit names
- fixed problem resolving call to overloaded procedure with nil parameter
- fixed parser problem resolving call to procedure in if-bransch
- fixed error in Memory Report for rare cases
- fixed problem with comments after "end." in source file
- fixed problem with "library" directive
- fixed display error for Duplicate Lines section in Warnings Report
v6.1 [18 Oct 2011]
Relative path for main file
For the main file that is analyzed, it is now possible to use relative paths. The path is entered relative to the location of the project file itself. So, for example, if the project file is C:\PALProjects\MyProject.pap, and the main file is entered as "MyApp.dpr", PAL will look for this file in the folder C:\PALProjects. Likewise, if the main file is entered as "..\Dir\MyApp.dpr", PAL will look for the file in the C:\Dir folder. This feature is very convenient if you share PAL projects between more than one computer. Instead of specifying a main file path as "C:\Projects\MyApp.dpr", and get problems when running on another computer that has the location "D:\Projects\MyApp.dpr", you can now specify "MyApp.dpr" which will work on both computers.
New Help Report
The new Help Report checks help topics for the analyzed project's help system. Help topics are normally defined as numbers in an external *.h-file. These values correspond to values of the HelpContext property. The first report section presents a list of all HelpContext values found in DFM files. Following two sections report topics that are either missing in the *.h-file, and HelpContext values that are missing in the DFM files.
New Searched Strings Report
The new Searched Strings Report searches for strings in the project's source code files. For each search string it reports files where the strings exists, and files where they not exist. Use the report for example to verify that your source code files include a copyright notice, or common include files.
New Map File Report
The new Map File Report displays information about modules that are linked into the binary executable (EXE, DLL). It generates this information from the MAP file that can be generated for your Delphi project when compiling the source code.
Improvements in Third-Party Report
In the Third-party dependencies Report, the sort mode now has importance. The sort mode is set on the General tab page for the project options. The lists are displayed in module-identifier or identifier-module order.
Check for local variables that are referenced before being created
There is a new section in the Memory Report that reports local variables (objects) that are referenced before they are created. This is an error that in most cases will result in a runtime error.
Check for local variables that are referenced after being freed
There is a new section in the Memory Report that reports local variables (objects) that are freed, but referenced further down in the code. This is an error that in most cases will result in a runtime error.
This new section in the Warnings Report gives warnings for source code lines that are duplicated, which means that two identical lines occur right after each other. This could be a mistake in the code.
Check for local variables that are set but not read further down in the code
This is a new section in the Warnings Report that reports variables that are set, but never referenced further down in the code. It indicates some programming mistake.
Improvements in Warnings Report - Local variables that are referenced before they are set
This section in the Warnings Report has been improved. References of a variable with "SizeOf(Var)" are considered safe, and do not render an unnecessary warning.
Improvements in Warnings Report - Function result not set
This section in the Warnings Report has been improved. The detection of functions where the result has not been set, is now much more accurate.