Top  Previous  Next


The Alert report area contains sections from several Pascal Analyzer reports:


- Strong Warnings (STWA1-STWA10)

- Warnings (WARN1-WARN62)

- Memory (MEMO1-MEMO7)

- Control Warnings (COWA1-COWA8)


STWA1-Property access in read/write methods

STWA2-Ambiguous unit references

STWA3-Subprogram calls itself unconditionally

STWA4-Index error

STWA5-Possible bad pointer usage

STWA6-Possible bad typecast (consider using "as" for objects)

STWA7-For-loop with possible bad condition

STWA8-Bad parameter usage

STWA9-Generic interface has GUID

STWA10-Out parameter is read before set


WARN1-Interfaced identifiers that are used, but not outside of unit

WARN2-Interfaced class identifiers that are public/published, but not used outside of unit

WARN3-Variables that are referenced, but never set

WARN4-Variables that are referenced, but possibly never set (ref/set by unknown subprograms)

WARN5-Variables that are set, but never referenced


WARN6-Variables that are set, but possibly never referenced (ref/set by unknown subprograms)

WARN7-Local variables that are referenced before they are set

WARN8-Local variables that may be referenced by unknown subprogram before they are set

WARN9-Var parameters that are used, but never set

WARN10-Var parameters that are used, but possibly never set (ref/set by unknown subprograms


WARN11-Value parameters that are set

WARN12-Value parameters that are possibly set (ref/set by unknown subprogram)

WARN13-Interfaces passed as parameters without "const" directive

WARN14-Variables with absolute directive

WARN15-Constructors/destructors without calls to inherited


WARN16-Destructors without override directive

WARN17-Classes with more than one destructor

WARN18-Function result not set

WARN19-Recursive subprograms

WARN20-Dangerous Exit-statements


WARN21-Dangerous Raise

WARN22-Dangerous Label-locations inside for-loops

WARN23-Dangerous Label-locations inside repeat/while-loops

WARN24-Possible bad object creation

WARN25-Bad thread-local variables


WARN26-Instance created of class with abstract methods

WARN27-Empty code blocks and short-circuited statements

WARN28-Empty case labels

WARN29-Short-circuited for-statements

WARN30-Short-circuited if-statements


WARN31-Short-circuited on-statements

WARN32-Short-circuited repeat-statements

WARN33-Short-circuited while-statements

WARN34-Empty except-block

WARN35-Empty finally-block


WARN36-Forward directive in interface

WARN37-Empty subprogram parameter list

WARN38-Ambiguous references in with-blocks

WARN39-Classes without overrides of abstract methods

WARN40-Local for-loop variables read after loop


WARN41-Local for-loop variables possibly read after loop

WARN42-For-loop variables not used in loop

WARN43-Non-public constructors/destructors

WARN44-Functions called as procedures

WARN45-Mismatch property read/write specifiers


WARN46-Local variables that are set but not later used

WARN47-Duplicate lines

WARN48-Duplicate class types in except-block

WARN49-Redeclared identifiers from System unit

WARN50-Identifier with same name as keyword/directive


WARN51-Out parameter is read before set

WARN52-Possible bad assignment

WARN53-Mixing interface variables and objects

WARN54-Set before passed as out parameter

WARN55-Redeclares ancestor member


WARN56-Parameter to FreeAndNil is not an object

WARN57-Enumerated constant missing in case structure

WARN58-Mixed operator precedence levels

WARN59-Explicit float comparison

WARN60-Condition evaluates to constant value

WARN61-Assigned to itself

WARN62-Possible orphan event handler

ARNWARN53-Mixing interface variables and objects

MEMO1-Local objects with unprotected calls to Free

MEMO2-Non-local objects with unprotected calls to Free

MEMO3-Objects created in try-structure

MEMO4-Unbalanced Create/Free

MEMO5-Local objects that are created more than once without being freed in-between


MEMO6-Local objects that are referenced before being created

MEMO7-Local objects that are referenced after being freed


COWA1-Controls that overlap visually

COWA2-Labels with Caption-property that does not end in ":"

COWA3-Conflicting accelerators

COWA4-Labels (or static texts) that have accelerators but FocusControl is not set

COWA5-Conflicting shortcuts


COWA6-Buttons/menu items with OnClick-event that is unassigned

COWA7-Menu items that have HelpContext=0

COWA8-Hint is not activated



See also: