Project Analyzer
Detailed Version History

I'm going to release v3.0 soon.
These betas (v2.9.x) include most of the functionality of v3.0.

2.9.08 New features

       1. Print a call tree report in any expand/collapse
          state (from View|Call tree)
       2. Understands the difference between variable
          assignment and reference
       3. "Dead" variables and constants are those that are not referenced.
          So variables that are assigned to but never used show up as dead.
       4. Hypertext window: Right click on a hyperlink 
          brings up a popup menu with links to where
          the item is referenced or assigned to!
       5. Vars & consts list: View references brings up
          a detailed reference & assignment list
       6. Counts nested loops in a procedure (View|Nested loops)
       7. VB 4.0: Shows project name and version at the bottom of a report

       Bug fixes
       1. Shouldn't crash under Win NT
       2. Understands the difference between Property Let and
          Get and Set, and sets hyperlinks correctly
       3. Cyclomatic complexities now correct in Problem Report
          and Summary Report (increased by one)
       4. Undestands ByRef, Optional and ParamArray parameters

2.9.07 Corrected many clever bugs that have cost many lives of 
         "dead" procedures & variables.
       New feature: View cyclomatic complexities
       Now correctly interprets "Private/Global/Public Declare Function"
       "Private Type" is no more considered a variable named "Type"
       "Redim Preserve" is no more considered an array named "Preserve"
       Phase 2 is now faster
       Find procedure works in the main window
       Non-enhanced display output works in the 32-bit version
       Added 3 command line switches to help debugging the 32-bit version 
         on Windows NT:
           /NOTMP32    Don't call GetTempFilename in KERNEL32.DLL
           /NOUSER32   Don't call USER32.DLL
           /NOSHELL32  Don't call SHELL32.DLL
2.9.06 Corrected stupid bugs that caused some variables & procedures to
         appear "dead":
       * Modules with only one procedure are now analyzed in Phase 2 too
       * Type characters $%!#@& are not part of a name:
         this means that myvar=2 is now correctly interpreted as a 
         reference to myvar%
2.9.05 Corrected a stupid bug that caused all global variables to appear
         "dead"
2.9.04 Correctly parses indented declarations, like "    Dim xyz"
       Corrected "Subscript out of range" at the end of phase 1/2
       Remembers the position of each window
       Remembers the setting of "Dull gray windows" 
       Added Collapse and Expand buttons to the call trees
       File details window shows if a variable/constant is dead or not
       New statistics at the bottom of the main window
       Notifies if a table has exceeded 32767 entries (16-bit version)
          May only happen with extremely large projects, never seen
          this. If you experience this, please let me know.
          In the 32-bit version this is not a problem
       Archiving in the 32-bit version handles filenames with 
          characters >= Chr(128) correctly
       Procedure list on the main window now sorted in VB 4.0 too
2.9.03 Doesn't require PROJECT.DLL on the disk
       Won't crash on ReDim
2.9.02 Now 2 separate versions
          1. 32-bit version works with VB 3.0 and 4.0 (all versions)
          2. 16-bit version works with VB 3.0 and 4.0 (16-bit)
       Report|Needless globals report
       Most registered features now work in the shareware version 
          provided you are analyzing a project with at most 10 basic
          files.
       Now correctly interprets words "Private" and "Public"
       Shows procedure attributes as comments
       FRX view detects Bitmaps, Icons, Metafiles and Cursors
2.9.01 Initial beta accepting VB 4.0 code
       Accepts Class Modules (.CLS files) [VB40]
       Hypertext shows local variables & constants, 
       Hypertext shows class module references  [VB40]
       Hypertext shows dead variables by overstriking

Recent changes to v2.1:
       Formatted output on the screen & printer
       Hypertext jumps directly to variable/const declaration, 
         even in the Vars/consts listbox

