What's New
\The Sandbox \PBL Peeper \What's New
News Archive

March 23/2013

It's been a loooong time since you've seen an update on the web site. No, it's not that I've lost interest or gone away. The tool that I've used up until now to maintain the web site broke under the weight of the site (I'm over 1,000 pages now), and I just haven't gotten to a solution.

For better or worse, PBL Peeper has continued to grow and be fixed over that time. I'm only posting new features and enhancements below from the Read Me (not fixes), and I'm pretty confident even this ridiculously sized list is not complete. Sorry. Surprisingly, as a developer, I focused on the coding instead of the documentation.

Installation warning: I've replaced InstallShield with Inno, and first reports are that things aren't going 100% smoothly. I'm recommending you uninstall the previous version before installing this one. There was also a bug that you had to select installing Desktop icons or the app wouldn't install, but I think I've fixed that in a recent re-release.

New Features

  • PowerBuilder.NET initial support
    • The ability to select solutions (*.pbwx), targets (*.pbtx) and libraries (*.pblx) the same way you would with other PowerBuilder versions
    • The ability to view XAML in the Browse page in addition to other portions
    • Show duplicate objects using PB.NET criteria (Lists / Objects)
  • Auto-Add: Any data entry that allows multiple entries (e.g. Find items) will automatically add a new entry once you've edited the existing blank entries. When starting the process, blank auto-added entries will be ignored.
  • Graphics Report: Lists graphics referenced, and whether or not they're found
  • DataWindow to Variables Report: Converts DW data set to list of variables (useful for creating NVOs to receive sets of data in dot notation)
  • Variables Report: Lists all variables declarations
  • PBG Verifier Report: Confirms the contents of PBG files (source control) with respect to their folders
  • Unused Variables Report: Lists all unused local variables
  • Unused Variables Processor: Removes all unused local variables from scripts
  • Edit / Copy Data: Copies sets (one or more rows and columns) of data from a list
  • More Right (Alternate) Mouse Button menus
    • Lists
    • Find search items
    • Find results (grid format)


  • Complete tooltips coverage (also a new Preference to turn them off)
  • New UI enhancements (gradients to distinguish rows)
  • Command line parms now handles the syntax: pblpeeper.exe file_or_dir_name other_clp_parms
  • In Lists / DW Controls / Lists / View / Show / Attributes, a list of DataWindow attributes is
  • Browse page history navigation (Back/Forward) keeps track of where in the script your cursor was
  • Browse page: Ghosted elements show details in the right pane when selected
  • Find when launched from the Browse page has the items' settings saved
  • Lists / Objects / File / Save As... / Exports preserves the directory between commands
  • Trace page Copy allows you to copy subtrees of trace items
  • When expanding an item in Browse and that item is selected, the displayed portion is updated once the object is indexed
  • Lists / Objetcs / View / Show / DataWindow Attributes now shows data set column count
  • Clicking on a list header will sort Date/Time columns descending first
  • Compare formats DataWindow portions one attribute per line so that seeing differences is easier
  • Find Count added to Lists / Controls / View / Show
  • Find Count in Lists lets you filter on items where a search string was found as soon as the search is completed
  • Browse page: When QuickFind is initiated, it will start searching immediately with the value on the clipboard if the value "looks" like an object name
  • Find results in grid format adds a RMB
  • Browse page RMBs
    • Options to jump to either ancestor or descendant (if more than one descendant exists, a selection list is presented)
    • Build a report restricted solely to the selected object
  • Lists / View / Show / Attributes allows attributes (and some numbers within expressions) to be converted from numbers to the colour text (e.g. if(sale_date=today(),255,0) would show as if(sale_date=today(),Red,Black)); also handles meta-colours like WindowText

June 19/2008

I’m in the middle of adding the finishing touches on some new features, but then again, that seems to be a perpetual state for me, so it’s time to cut a release and get it out what we’ll call 4.0.4.

New Features

  • Report DataWindow to Variables converts a data set definition to a series of PowerScript variable declarations. This will help create custom classes that can be used to retrieve or set entire rows of values in a single dot notation operation, improving performance and memory consumption.


  • The Browser button from the DataWindow Find Results not only jumps to the script, but selects the text of the first match
  • Click-sort functionality on grids now appends columns to the sort specification for Ctrl-click
  • Print functionality added to Tools
  • Synchronize DataWindow Data Sets enhanced
    • Option to produce grid listing all changes
    • Option to produce grid uniquely listing changes by column
    • Handles arguments in SQL better
  • Browse RMB: Copy Prototype on a DataWindow now copies the Retrieve() function prototype with the DataWindow's retrieval arguments
  • Inheritance Report now lists the standard classes' hierarchy
  • User interface switched to a Unicode font
  • Compare:
    • App compare has an improved memory footprint
    • Compare has better performance when comparing matching objects
    • Objects from PBNative source repositories have $$HEX... values converted to be compared with PBL-based objects
    • When comparing folders to PBLs, a better job is done matching objects when duplicate objects exist in one or both apps
  • Lists / Containers: Now reports comments, as does the microhelp on the Browse page when a PBL is selected


  • Lists / View / Show / Attributes wasn't resolving when asked
  • Lists / View / Show / <several options>
    • crashes occured when no records met the criteria to display information
  • Synchronize DataWindow Data Sets
    • Reports more information when a change occurs, including DB column
    • Handles arguments in SELECT clause
    • Reports a difference in column counts (usually caused by SELECT *)
  • Lists / Show / Attributes.... used to drop filtered items
  • Solved a problem when PP hung when Resolve level is set to Controls and DW Controls
  • A bug reading export folders caused crashes when reading PBNative source control repositories
  • ANSI PBLs (PB9 and previous) were being locked after PBL Peeper shut down
  • PBL list sometimes excluded versions of PowerBuilder that were actually found on the machine
  • Dialogs like the selection window are now centered over the frame, instead of over the entire primary frame. The former behaviour was confusing in dual monitor situations and when the frame was off to one side.
  • Some reports weren't being linked to the source via the Browse button.
  • Find / Output Type was being errantly shown as disabled when DW Output was selected.
  • File/Folder treeview was only sorting on file name, not extension.
  • PBLs/Text didn't search subdirectories for a non-wildcard file spec in some cases
  • When multiple lines were pasted into Find to create multiple items, blank lines created blank items

Jan 2/2008

A few bugs reported; a few bugs fixed. 4.0.3 may help you, especially if you like rich text output to your finds. (I’ve become a fan of DataWindow output and how it links to the Browse page, but to each his own.)


  • Fixed retrieval of dot-notated DataWindow attributes in Lists / View / Show... / Attributes
  • Find was crashing with rich text output
  • Find was errantly reporting nothing found when reporting objects only
  • Fix when dealing with proxies
  • Fix autosize width of reporting DataWindows collapsing width to zero
  • Handles resolve of DataWindow objects better
  • SQL formatting improvement (double parens preceding subselects in WHERE clauses)
  • Synchronize DataWindow Data Sets processor
    • Better captures and reports error cases
    • Handles SQL with no FROM clause
    • Handle SQL with a GROUP BY clause
    • Changes to handle arguments in SELECT clause pending

Dec 4/2007

It never fails. After every major release, a major problem turns up. Doesn't matter how much I test. This time, it's the installer. In the 4.0.0 release, only the icons you select to install to your desktop are installed to the Start menu. By default, that leaves out the option without the current app loaded. Oops.

Still, we haven't been standing still. I think the feature I use most in 4.0.0 is the Find RMB options in the Browse tab, and I've added to those. The DB Column Usage report got torn apart, so it's got a major performance boost, plus some SQL parsing enhancements that will affect several areas of functionality. (As with 4.0.0, I'm leaving the bug fixes list to the ReadMe in the installation.)

Later that day... Speaking of Murphy’s Law, not only did the 4.0.1 build I posted neglect to show the proper version, but it was missing an object that caused the Browse page to crash when RMBing the code (my favourite new feature, only tested under the IDE). Grab the 4.0.2 version if you got stuck with this turkey.


  • Command line parms
    • takes a bare *.DBG file, loading the "current" application
    • takes /INDEX by itself or /INDEX:*, both indexing everything
  • File / New
    • Ctrl-N shortcut added
    • Tools are available from File / New
  • Browser
    • Treeview now has "Find in this object" context menu item
    • MLE has new context menu items
      • QuickFind
      • Find in this object
      • Find elsewhere in app
  • Find: New option to output only final total counts (rich text output only)
  • In the Trace viewer, the microhelp now shows the script name
  • Improved SQL formatting
    • formatting of CASE statements
    • formatting of parenthesized compound logical expressions
    • subqueries in WHERE clauses broken out more clearly
  • Improved SQL parsing (will affect things like DB Column Usage report)
    • handling of outer join syntaxes
    • improved handling of logical expressions
    • handling of bracket enclosed identifiers
  • Performance improvements
    • DB Column Usage report significantly faster
    • Some RTE output (e.g. Find) faster
    • Miscellaneous minor performance improvements
PBL Peeper PB Help PB History
& Future About Us Feedback Site Map

Web www.techno-kitten.com