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

Oct 25/2007

Egads! I can’t believe how long it’s been since the last release! I’ve been having horrific problems with my web site generation tool, so all sort of things have been back-burnered with respect to the site. (Even with the problem properly analyzed after several attempts, it took a 2.6GHz machine 3 weeks of running almost around the clock to recover the site!)

However, things with PBL Peeper haven’t been standing still. The massive task of removing PowerBuilder version dependencies is complete, I think. That’s going to let me (and you) focus on features instead of which version of multitudes is the right one.

There’s a stack of other new features that will change the way you are able to leverage the tool.(Breaking from tradition, I’m not listing the fixed bugs here; you can get that in the ReadMe.txt after you install, if you’re interested.)

New Features

  • Overall
    • Unified version. Now one version of PBL Peeper will deal with all versions of PowerBuilder!
    • Command line parameters to load an application can be qualified with the /PBVER parameter.
    • Refresh App: Allows you to reset all the indexing of your selected application if the
      contents of the objects change since the time you loaded the application.
    • QuickFilter instantly filters based on the value of the current row/column selected.
    • Rich text output can now be saved as Word, HTML or PDF files.
    • View / Reset Splitters (or double-clicking the splitters) will reset the positions of its adjacent controls if it becomes incorrectly positioned.
  • PBLs Page
    • A new way to select applications, the Grid interface retains the filter and sort between application runs, so you can keep your primary applications at the top of the list, or sorted how you like, or found with Find or QuickFind
  • Browse
    • Browse RMB:
      • Jump from DataWindow UI column to data set column
      • Find one or more strings in the selected object
      • Find the current object elsewhere in the application
  • Lists
    • New list of containers (PBLs, export folders)
    • Lists / Scripts / View / Show / Line Counts will give you the option of counting comment lines and blank lines
    • Lists / DW Columns / View / Show / UI Elements shows the UI columns linked to a data set column
  • Reports
    • New Reports
      • DWObject Expressions: Lists attributes of DW Objects that have expressions
      • Orphaned ItemChanged: Report columns in ItemChanged events with non-visible columns or columns with no UI presence.
  • Processors
    • New Processor
      • Synchronize DataWindow Edit.Limit: Synchronizes any non-zero edit.limit attribute in DataWindow char columns to the length of the data element.


  • Overall
    • GUI Enhancements. More new icons
    • Improved SQL parsing and formatting, including ANSI outer joins.
    • Command line parameter /INITPAGE now accepts subpages, delimited by a backslash (e.g. /INITPAGE:Lists\Scripts)
    • Performance enhancements, particularly indexing DataWindows.
  • PBLs
    • Other types of PowerScript targets new in PB11 will be loaded into the PBLs treeview.
    • Versions of PowerBuilder loaded into the PBLs treeview is no longer constrained by the version of PowerBuilder used to compile PBL Peeper.
  • Find
    • Moved the Find qualifiers to search comments and quotes to the item level. Different Find
      strings can now be individually included or excluded from comments and string searches.
    • When a Find is initiated with an Object Filter active and no matches are found, you are
      prompted with the option to repeat the search without the filter.
  • Reports
    • Most reports (where it makes sense) respect the Object Filter:
      • Application Print
      • Comments Extract
      • DataWindow SQL
      • Embedded SQL Extract
      • MultiTable Registry Stmts
      • Verify DW SQL
    • DataWindow SQL report now provides options to print data set and to page break between DataWindows.
    • Database Column Usage report will now show "<all columns>" when "*" is used in the SQL.
    • The PBR Plus report now produces an output that lists graphics that it can't find.
  • Trace
    • When browsing the trace treeview, the stack depth is displayed in the status area.
  • Compare
    • Application compare will work much faster for cases where most objects haven't changed


Oct 7/2005

Missed a deployment DLL again, this time in PBL Peeper 8. That and the XRef problem pushed this one out the door, perhaps before the exports functionality got the beating I would have liked. Oh well. For those of us that have to deal with source-controlled source that may not be accompanied by PBLs, this makes life much simpler.

New Features

  • Reads folders of export files (this feature may be a little raw, i.e. untested). Command line parameters are documented in the manual. Otherwise, on the PBLs page, select Export folders under Folder selection and drag a folder either from Explorer or the disk/folder list on the left


  • New icons


  • The cross-reference report often threw a bunch of messageboxes with cryptic messages. This may have indicated an error in analysis.
  • Global functions were incorrectly parsed in the Lists.
  • Miscellaneous fixes to PB10 version that didn't get migrated forward.
  • Installation didn't have all the required DLLs.
  • Suppressed an error message that may have come up when an ancestor couldn't be found
  • When multiple PBLs are selected in the PBLs list, now all (not just one) are being deleted


Aug 24/2005

Missed a deployment DLL. It may affect PBL Peeper 9 and PBL Peeper 10 users. While rebuilding the executable and installation, I’m letting out a fix and enhancement I finished in the last couple of days.


  • When displaying counts in Find, an option to suppress zero counts has been added.


  • Find crashed when showing counts and the count was zero for the last Find item


Aug 19/2005

It’s been a while. Job hunting, personal life and web site tool challenges have kept me away from releasing a new version. And, what is going to seem like a step backward to some, I see as a major step forward. While I see it as far from negative or important, the deprecation of ORCA (compiling) technology is going to be seen as some as a defining characteristic of this release. Until now, PBL Peeper has been tied to a specific build of PowerBuilder because of a bug in ORCA. You’ve been able to turn off ORCA, but most people seem to give up if it doesn’t work “out of the box.” Now that option is gone, because there is no ORCA functionality to turn on. A few features and options are gone as a result. However, now we aren’t tied to specific builds. If it weren’t for incompatibility between ANSI/DBCS PBL functions and Unicode PBL functions (and platform issues), we’d have a single version of PBL Peeper. That’s coming in the next release (unless I hear from users that supporting old OS platforms is a major issue).

If ORCA deprecation isn’t important, what’s important enough to bump up the version number to 3.0? My personal favourties are:

  • The PP10/Unicode version supports not only PB10, but DataWindow.NET and PocketBuilder.
  • Performance! Everyone asks for it. Now it’s here. And, in a twist where I had to be taught a lesson I allegedly already knew, code I thought had to be implemented in C to get better performance was done in PowerScript. While PB10 gave me some string processing performance enhancements (I was expecting performance to move the other direction with Unicode), the vast majority of the performance improvements came from working smarter.
  • Command line parameters make the tool much more powerful now, for people willing to use them.

Pick your own favourites:

New Features

  • Support for PB10/Unicode, PB10.2/Unicode
  • Support for Pocket PowerBuilder/PocketBuilder with Unicode version (PP10)
  • Support for DW.NET with Unicode version (PP10)
  • List of external functions
  • Command line parameter to specify initial window to load
  • Command line parameters for tools and viewer windows
  • Command line accepts bare file names
  • Command line option to load current workspace
  • ANSI versions (PP8, PP9) won't load Unicode PBLs, and Unicode version (PP10) won't load ANSI PBLs

Installation Changes

  • PowerBuilder run times are installed automatically (but database drivers are optional)
  • New Start menu shortcuts
    • Format SQL on the clipboard
    • Format script on the clipboard
  • Shell commands (right clicking on a file in Explorer)
    • More commands
    • More file types (PBW, PBT, SQL)
    • Indication of the program involved, designated by "(PP)"

Because of this changes, uninstalling any previous version is recommended


  • PERFORMANCE!! The most common process saw a drop in processing time of 70% in our benchmark.
  • Auto Size Width service now processes only for a maximum of one second per column, plus other performance enhancements to this service
  • Microhelp appears for response and popup dialogs
  • DataWindow Object Usage Report now lists expressions that were assigned to dataobjects
  • Find performance enhancement for some cases
  • Places that use the concept of "Scripts & Variables" (e.g. Print, Find) will now include External Function Prototypes
  • Trace (DBG) files of over 2G supported
  • Copy button on Trace Call Stack window
  • Documentation updates


  • PBL Selection for application compare was not working in the same way as the PBLs page
  • Fixed string processing in cases with mismatched quotes (showed as infinite loop with SQL processing; likely showed up elsewhere)
  • On Lists / Objects / View / Show..., sometimes selecting Cancel initated an action
    Doesn't show non-PB targets (web targets)
  • The Database Column Usage report no longer overflows its datawindow columns
  • Various dialogs (Find, Trace Call Stack) now disappear when the controls they are associated with disappear from visibility
  • Browsing files to PBTs or PBWs on the PBLs Page no longer crashes
  • Lists often lost filters and filtered data when doing View / Show...
  • Disabled Find Next until Find done
  • Fixed "frozen" display of microhelp and status bar in XP when app loses focus
  • Browse button from Cross-Reference report windows work
  • TRY/CATCH blocks formatted properly by script formatter
  • Find would hang if a Match type Find Target was found in a project, query or pipeline
  • On the Browse page, History (Back and Forward) buttons work from all controls
  • Trace viewer doesn't prompt when loading "too many" (see Preferences) items on base level
  • Find counts used to suppress counts of zero. Now they are displayed.
  • Various fixes to handle more SQL for parsing and formatting.
  • PBR Plus Report now creates separate output windows for PBR and script
  • PBR Plus Report includes forced compilation of menus
  • Stringer converts tabs to ~t


  • ORCA functionality has been removed
    • Object list Size field
    • References list (use the non-ORCA based XRef Report instead)
    • Mass Import and Import List (this functionality may be replaced in subsequent releases using other technology)
  • /IGNOREVERSION command line parameter (since run times are installed)


Oct 13/2003

New work has been distracted by bug fixes, but those bug fixes have also precipitated some new features. Release 2.2.06 is built with new versions of PB7, 8 and 9 (all basically released in the last month and a half). This will likely be the last version of PP7, as I’ve already stretched my current and last version policy, PP7 downloads are trailing off (a lot of people seem to have moved on to PB8 and PB9), and I’ll likely have to start migrating to PB10 beta sometime in the this quarter (PB10 is due out 2004H1, if you haven’t heard).

New Features

  • Command line parameters for target and workspace files
  • XP style interface support for PP9
  • Wrap text option for script/portion display (Browse page, Trace page)
  • Copy Contents on Browse page context menu
  • Script processor to synchronize DataWindow data sets to the database


  • Find has new option to count occurrences of each search target
  • Browse page shows XML and PDF icons for DataWindow portions in PP9
  • General performance enhancements
  • PBL selection standardized between PBLs page and App Compare page
  • PBL selection text interface accepts selection of target and workspace files
  • PBL selection drag and drop accepts target and workspace files
  • Copy Prototype on Browse page is more PB script painter compatible (putting a hot key on Edit / Go To... / Next Marker makes editing functions copied from the system tree or here easy to populate with parameters)
  • PBR Plus report now searches for Add*Picture() function calls for the graphics in their parameters
  • Documentation has been updated, using Acrobat 6.


  • Exports of modified DataWindows were dropping portions that were new to PB7 and later versions (the algorithm is now generic enough to handle any new portions introduced)
  • Exports of modified classes contained errors
  • Some command line parameters, like /CURRENT, didn’t work properly in PP8 and later in some cases
  • Attribute retrieval on menu items and DataWindow controls failed to get the value
  • Object indexing adjusted to be case insensitive, to handle objects manipulated outside of PowerBuilder


Mar 26/2003

Release 2.2.05 is the initial PB9 release.


  • Fix for formatting algorithm when code line has trailing spaces.


Feb 21/2003

Primarily bug fixes in 2.2.04.

New Features

  • Script Formatter tool indents scripts


  • Embedded SQL Report choked and died; enhanced Find routines fixed in 2.2.03 to handle usage by this report
  • Added more checks for success or failure of connection to the database


Jan 31/2003

Primarily bug fixes in 2.2.03. Moved PBL Peeper 7 up to Build 10213.


  • Objects list: View / Show / DataWindow attributes shows SQL storage method (Graphics or Syntax).


  • Lists would fail or behave oddly with any View / Show or other function that added a column to the list when the list contained a CR/LF.
  • PP8 only: PP would keel over if trying to do anything to a PBL with a proxy in it. The fix reverts to the previous behaviour of ignore proxy objects.
  • Find would in some cases have problems bolding output text with multiple search items.
  • Output to WordPerfect is faster; Output to MS Word is magnitudes faster, and is much more memory conservative. (WordPerfect still outperforms Word)
  • Output to MS Word reverts settings like auto grammar check back to their original settings.
  • Import List will prompt for a default PBL only once.


Dec 17/2002

Release of 2.2.02. Couple of fixes specific to PBL Peeper 8 which I thought were critical, but then again, no one complained, so I’m obviously wrong. <g> The most useful part of this release for me will be the performance enhancement on the Browse page’s QuickFind.

New Features

  • Edit / Copy Richtext, available in any richtext control, copies both richtext and text to the clipboard. Any other application will grab the appropriate content from the clipboard when pasting (e.g. NotePad will grab the text version; Word or WordPerfect will grab the richtext version).


  • Browse page QuickFind no longer takes a significant time for text interface to appear. (All the objects were being loaded into the treeview before the start; now only the necessary objects are being loaded when a match is found.)
  • Preserving and showing Carriage Returns/Line Feeds in object comments (e.g. Object Lists).


  • PP8 only: Object type was not being displayed in the Object List since 2.2.01.
  • PP8 only: App Compare hasn't been working since 2.2.00.
  • Browse page enables the correct items on the treeview's context menu.
  • Some problems with menu enabling have been fixed.


Nov 25/2002

Some reports of problems installing on machines that never had PowerBuilder installed pushed up release of a patch (v 2.2.01).

New Features

  • New preference “Keep object source in memory”, which reduces the number of trips to the disk (increases memory load, increases performance)


  • Mass Export and Import were merged to a single user interface
  • Minor performance gains loading PBLs
  • Documentation was updated with a section on how to do selective Search and Replace
  • Some automation settings were turned off for Word and WordPerfect


  • Installation of PBL Peeper 7 and 8 weren’t installing App Paths
  • Launching the application on machines that had no PB.INI caused PBL Peeper to crash
  • PBL Peeper 8 had some test code that wrote out a test file to the temp directory
  • In App and Object Compare, the Scripts and Vars only option wasn’t working
  • In App and Object Compare, when Resolve was set to Scripts, ghosts were considered empty scripts


Oct 28/2002

It’s been a long time since the last release, primarily consumed by dealing with infrastructure issues, like a new InstallShield setup, new output drivers, etc... This will hopefully put me in a good position to add in a whole lot more functionality in more reasonable time frames (although I am still working on a parameter collection infrastructure that will let me release a whole lot of functionality that’s built, but just doesn’t have UI to invoke it). We’re a step closer to being independent of PowerBuilder versions; see the notes on what the outstanding issues are. Given where the demand for the PB6 version of the product has gone, this is definitely the last release of it. Looking forward to the opportunities PB9 is going to give me.


  • PBL Peeper and PB run time installations have been rolled into one
    • Specific database drivers can be installed instead of all of them
  • Installation required the MS Installation engine (if you’re on Win95 or Win98 and don’t have it already installed, see the note on the Downloads page)
  • Installation is permitted to proceed if you don’t have PowerBuilder installed, although you are warned that it won’t work without installing the PowerBuilder run times and disabling ORCA
  • Installation now supports application repairs

New Features

  • ORCA can be turned on or off with a preference or a command line parameter, making PBL Peeper less vulnerable to PowerBuilder minor version dependencies
  • Object-level Cross-Reference report, including an Unused Objects list
  • Object prints (including the Application Print report) can be output to Word or WordPerfect
  • Several user interfaces now support file drag/drop from Windows Explorer
  • Treeviews: Enter key expands/collapses
  • Lists/Objects/View/Show/Ancestors adds UserObject type
  • Trace: scans for unusual lines (error messages are sometimes shown in DBG files and nowhere else)
  • QuickFind on selection dialogs
  • Lists now have maximum width on AutoSizeWidth, so fields like Comments can’t overwhelm the user interface
  • Lists now display multiple lines of text per row, allowing attributes, like treeview.PictureName, that span multiple lines to be shown
  • Command Line Parameter: /S with /PBL searches subdirectories for matching file specs


  • Compare uses object type as well as name, to avoid comparing objects of differing types but the same name
  • Read large library paths (>4K) from PB.INI
  • RMBs handle item right-clicked instead of current item
  • DataWindow processing copes better when no connected transaction
  • Handling PB8 targets and workspaces better
  • QuickFind works better
  • PBRPlus report captures DataWindow band pointers
  • Find initiates with an Enter key from the text field

Sept 9/2001

In proof that individual users can make a difference, PBL Peeper 6 lives!! Got a couple of good bug reports (accurate analysis, good samples) from users of PP6, so 2.1.01 will have a PP6 release. The only obvious new feature is that we’re checking the build number to make sure you’ve got the right version of PowerBuilder loaded. That, and Lists / DW Controls lists the band. Fixes include a problem with resolving to Orphans, which showed up as problems all over, in Lists and Compare, and dealing better with unexpected white space, which showed up in the DataWindow Object Usage report.

PBL Peeper 8 users should note that PB8/Build 7039 has a ScriptDefinition bug that will blow things up quickly. To work around this, go to Preferences and turn off Derive System Event Definitions.

Aug 8/2001

Release of 2.1, with new features and fixes. This release is the first PB8 release, and likely the last PB6 release. The PB8 runtimes will likely be released shortly after the release of the first public patch (until then, we’re probably all on the same build).

New Features

  • The Find can now
    • bold matched items in rich text output
    • output to a DataWindow interface, with
      • sort
      • filter
      • find
      • links to Browse page
      • build an object filter from the list or selected items
  • Text-based interface to select PBLs
  • Compare Datasets compares the data types of the datasets of two DataWindows, determining compatibility for functions like ShareData(), RowsCopy(), etc...
  • Import List can load all export files in a directory.
  • Build an object filter from most lists, based on either the contents of the list or the selected items.
  • Save As text file for all treeviews
  • Trace has a new preference to suppress the display of all line executions.
  • The command line parameter /PBLAPP falls back to loading all PBLs in the supplied PBL’s directory if no application is found.
  • Print setup on the print object dialog
  • Context menus on the Browse page.
  • PBLs page now deals with workspaces and targets.
  • On the Browse page, QuickFind from the right code display panel will act with the selected text on the left treeview.


  • All script processors, including Search and Replace, were seriously broken. In spite of the fact that no one reported it (indicating no one is using it), I fixed it anyway.
  • Resolve level of controls was doing way too much work, and often not producing the correct results. Depending on your framework type, resolve controls should run a whole lot faster now (only indexing ancestors that have controls).
  • Object print didn’t work unless you checked the new DataWindow options at some point (you could uncheck them later). This was fixed.
  • Mass Export wasn’t including uncommented objects in the objects list. Fixed.
  • Handles DataWindow SQL for crosstab DataWindows without blowing up.
  • The Go menu and toolbar item work from the Find tab (bug with constants was the cause).
  • The PBLs page is faster and more resource friendly when selecting drives or subtrees from the old treeview interface.
  • PBL Peeper has generally been blowing up on exit in most cases for quite some time. This turns out to be a bug looking at ScriptDefinitions for event parameters. (This bug is believed to be fixed in PB8 and PB7/10077) If you don’t want event parameter information, turn this functionality off in the preference window.
  • Compare with FC works on Win95
  • Database Column Usage report and other functionality that deals with parsed SQL benefit from more accurate algorithms.

Mar 18/2001

Last night I caught a bug that would impact all ORCA functionality, I’d expect. It impacted the References list, and I’d expect it would impact processors as well. Released 2.0.02 with a fix for it.

Mar 3/2001

Another long break between versions. The result is version 2.0.01 (those that don’t get it, never mind...). New features. Performance gains. More fixes than I’ve kept track of. Plus, the death of the PowerBuilder 5 version. I’ll leave PBL Peeper 5 v1.3.01 available for download while there’s still a reasonable demand for it (it accounted for about 10% of the downloads last month). PBL Peeper 6 is likely to meet the same fate soon, with the release of PowerBuilder 8 scheduled for the next quarter.

Now, for the new features:

Loss of PowerBuilder minor revision dependence

Now if you’re on 7.0.2, and the latest PBL Peeper is on 7.0.3, you can still use it. This is the result of:

  • Distribution of PowerBuilder runtime as an optional download
  • Processors can produce object exports instead of compiling directly to PBLs

Scoping of functionality within an application

Until now, you’ve had to search and replace, etc... against an entire application. Now, with the Object Filter, you can define which objects the following operations will run against:

This is based on a filter expression against a list that looks like the Object list when it first comes up. So, you can use parameters like object, PBL and type in a standard DataWindow expression.

New level of Resolve

In the same way Browse can show inherited controls, it can now show DataWindow user interface controls and the DataWindow table it inherits from the default DataWindow object. This is set in the Preferences. This applies to

  • DataWindow controls
  • nested DataWindows
  • drop down DataWindows

I’ve found it useful to have all this information in one place when I’m maintaining an object that someone else has developed.

Better navigation

It’s easier to get around now.

History: On treeviews, you can now move back and forward, like a browser, between treeview items. The same with DataWindows moving between rows.

QuickFind: For when you know the name of something you’re looking for, QuickFind will bring up an edit field and search for the first matching item (exactly as entered, prefixed as entered, substringed as entered). This works on treeviews for already populated items (see the Browse page documentation for the exception to this) and on DataWindows down the column with current focus.

Treeview Up: Move to the parent of a treeview item without scrolling to find it.

Treeview Collapse: Collapses all elements of a treeview, resetting the user interface to its initial state without losing the population of the branches.

Find enhancement: DataWindow find will now offer to wrap to the top or bottom if it doesn’t find a match.

Selecting an app: What has likely been the first step for everyone in selecting an application, expanding the applications list under the latest version of PowerBuilder listed on the PBLs Page, is now done automatically.

Standard menu functionality: File/Open and File/New now do the same thing across all sheets.

Processor safety and integrity

Running processors should be less haphazard.

  • Processors will skip all objects with a checkout status. Checkout status is no longer destroyed.
  • Options to control which objects are impacted (object filter).
  • Options to compile and export objects.
  • Results report indicates which objects have been impacted.

Compare actually useful

Until now, the only use of Compare was to identify which objects had changed. Now, with the enhancement of almost 20 year old technology, you’ll actually be able to see what has changed. Compare will use DOS FC to produce its differences report, when requested. (An MS WinDiff module is likely forthcoming.)

Trace limits volumes of data

The Trace Page will:

  • Based on Preferences, will limit the number of items it will load into a branch before prompting you to continue. This should dodge the bullet of PBL Peeper blowing up when loading a script that was executed lots of times, maybe in an infinite loop.
  • You can delete portions of the trace from the user interface, eliminating those portions from further finds. This helps when you only want to examine a small portion of a trace file.

Miscellaneous items too important to skip

  • Command line parameters to:
    • use a PB.INI my default algorithm didn't find (in the same directory as the PowerBuilder executable)
    • load a specified page on start up (this will, for example, get you to the Find page much quicker)
    • load a specified DBG file (see the lesson on file associations in the Applied PBL Peeper section)
  • Object List and References List can now export selected objects
  • Print has DataWindow options for SQL and data set
  • Object List can show
    • DataWindow attributes
    • Source control attributes
  • Script List now shows more raw details when you ask for Extended information
  • The Inheritance Report now lists system inherited controls, so you can track down your class library violators.
  • Use of Match expressions in Find work more accurately and quickly
  • A SQL Formatter Tool to make legible the SQL you copy out of the debugger (and elsewhere).

July 27/2000

Release of 1.3.01.


  • New options for Compare pages.
  • Lists pages print with page numbers in the footers.
  • Once PBL Peeper has identified that no PBLs related to the application can be found on the system, the icon on the PBLs page is crossed out.
  • PBL Peeper 7 is built with 7.0.02 build 8046 (the EAStudio 3.5 C3 release).


  • Fixed bug saving large files (>32K). Affected Save As HTML, maybe others.
  • On the Lists pages, if View / Show... displayed a new column of data, and a filter was active, all filtered data was lost.
  • The progress meter proceeds in only one direction when printing.
  • Showing an alternate script on the Trace page sometime hung the application. This is resolved.
  • The Inheritance Report suppresses the system class name when nothing is in the list.

I’m expecting the death of PBL Peeper 5 shortly, as I’ve finished the contract where I needed enhancements to it. Besides, I now need four versions of PowerBuilder on my system. (Hint: One of them is not PB4.) Plus, I’m thinking about including the PB runtime with PBL Peeper, making the downloads bigger, but making the tool available for more people. Thus, I need to either spend more money on the web site for space (bad thing) or make room. And, depending on the development cycle of the next release (I have some unsmall things in mind), this may be the last release for PBL Peeper 6, too, if I don’t release before PowerBuilder 8 comes out.

May 25/2000

After a significant period spending all my spare time in the den, Version 1.3.0 is coming out. Feature changes range from SQL and DataWindow dataset analyses to fixes in the Find algorithm and using the system format for the clock on the status bar.


  • Significantly more object print options
  • Persistent options (many options default to what you selected last time)
  • New Lists subpage shows all DataWindow dataset columns, including a Show options to show data type and table/column, if applicable.
  • New count on the Lists subpages to count unique objects.
  • More reports:
    • Application Print: Prints all PBLs, objects in the application, using the new object print dialog for options.
    • DataWindow object usage: Finds which controls and scripts (only includes direct dataobject assignments) DataWindow objects are being used in.
    • Inheritance report groups visual user objects by their type.
    • Embedded SQL: Lists all embedded SQL from all scripts.
    • Database Column Usage: Provides a grouped list (DataWindow) to show where in the application all table/columns are used, including both scripts and DataWindows.
    • DataWindow SQL Verification: Tests all DataWindow SQL against the database and reports any errors.
  • Script processors provide a feedback report, listing all objects/portions affected.
  • Reports and script processors now have English names in the list, not just their PowerBuilder object names.
  • Find produces summary counts, down to the level requested. For instance, if only displaying object name, it will show an object count. If showing context lines, it will show object, portion and match counts.
  • Options to save DataWindows as ASCII or HTML.
  • Selecting an object in the browser will sometimes show a potion automatically, without having to expand and select the subportion. This is always true for function and structure objects. Other objects will show a primary portion if they have already been indexed.
  • New command line parameters, including some that make it practical to launch PBL Peeper from Windows Explorer.
  • Options in the Replace script processor to replace on DataWindow SQL or all portions, including internal portions of objects (which is dangerous without intimate knowledge of the internals of PowerBuilder objects)
  • File/Open now opens viewers to see files in a rich text control (TXT or RTF) or a DataWindow (PSR). Capabilities normally attached to these controls are available, such as find, filter, sort, etc...


Tons of fixes, including (these are the ones I actually wrote down):

  • Showing the correct DataWindow portion icons in the browser
  • Print actually does something now for PBLs.
  • Problem with Show on Controls, Scripts subpages
  • Fixes in Find, including
    • Regular expressions sometimes looped infinitely
    • Tagging to ignore comments sometimes ignored too much in some circumstances
  • Algorithms are less case sensitive (which is more of an issue for third party code generators, not for objects created in PowerBuilder)
  • Formatting fix in DataWindow SQL report
  • Browse now shows the portion selected before trying to determine if an ancestor exists in determining whether to enable the ancestor button
  • Algorithms to identify the type of a control are now more robust
  • All command line parameters now work in the PowerBuilder 5 version.
  • Status bar clock uses the system format, allowing user to see 4 digit year, if desired


PBL Peeper wins PowerTimes Little Helper Award for 1999.

Aug 20/1999

Version 1.2.02 released.

  • Find will only produce a message box if no matches are found. It will no longer produce a document.
  • When the Resolve level is set for controls or scripts, Find and Script Processors will not Resolve beyond Orphans, as it doesn’t use the ghosts produced by this higher resolve. This helps performance significantly when Resolve level is high. Browser will later resolve if requested.
  • When Control and Script Lists are selected and List Ghosts is turned off, object indexing will not resolve beyond Orphans. This helps performance significantly when Resolve level is high.
  • Printing contents of a PBL from Browse will produce a list of objects before printing all the objects’ contents. Other print fixes.

Aug 5/1999

Released PBL Peeper 7 for PB7.0.1.

Aug 4/1999

Version 1.2.01 released. Minor bug fixes.

July 29/1999

Version 1.2.0 released to public. Enhancements include:

  • PB7 support, including
    • new controls
    • embedded NVOs
    • new PBDebug trace file format
  • Ability to control Resolve level, which determines if and how much information from ancestor objects is included when displaying an object
    • objects can show no information from the ancestor, minimizing the time to index and display an object
    • objects can show just enough information from the ancestor to verify the context of the objects’ scripts and controls
    • objects can show all the controls or all the controls and scripts from the ancestor objects
  • Preferences determine several behavioural and performance factors
  • Object prints can now
    • wrap long lines of text
    • include ancestor chains of object portions (e.g. show all the Open events, from the base ancestor down to the selected window)
  • Trace page will now display a popup showing an isolated illustration of the call stack for
    • the selected trace item
    • all trace items matching a specified string
  • Checks the PB version on start up, not proceeding if it identifies a conflicting version
  • Shows a Tip of the Day on the splash screen
  • Provides more command line parameters to automate application selection and initial indexing
  • Provides more options to notify the user when a long process has completed
  • Prompts before starting a process that is typically long (optional)
  • Application Compare can now only show the object and portion names of changes
  • More attributes for the lists, both loaded on initial population and on the Show command.

This is expected to be the last major release for PBL Peeper 5.


Arthur Hefti reviewed PBL Peeper in PowerTimes. His conclusion?

    PBL Peeper contains a set of very useful tools all under one cover. It should be part the toolbox of every PowerBuilder programmer who needs more than the basic features PB provides.


Oct 12/98

Version 1.1.0 released to public. Enhancements include:

  • DataWindow support
    • Browser: The Browser now displays DataWindow objects and their associated attributes. Objects are grouped by band, so you can tell at a glance in which region of the DataWindow they are located.
    • Lists: Includes a new list of DataWindow objects. This list has Show... options similar to the other lists, including Attributes, which will add columns to the list and display specified attributes of the DataWindow objects.
    • Find: Ability to find strings in specific DataWindow objects. (Previously Find would simply identify and display the entire DataWindow.)
  • Grep-like support (based on Powerscript´s Match()) in the Find
  • Performance enhancements moving string processing to DLL
  • New class hierarchy report
    • Separately lists windows, menu, visual classes and non-visual classes
    • Optionally, includes controls in visual classes hierarchy (e.g. so you know where u_splitbar was used)
  • Enhanced documentation (online and downloaded PDF), including new sections:
    • Applied PBL Peeper (applying PBL Peeper functionality to problems)
    • Frequently Asked Questions
  • Enhanced support for building your own reports based on the data collected on the Lists pages, including dynamically collected data like Attributes
  • Ability to save contents of data entry forms for later use (e.g. reuse a Replace list of obsolete functions)
  • Compare of applications can list only object and portion names, suppressing the output of the portion contents
  • As always, bug fixes and likely some bug introductions <grin>
PBL Peeper PB Help PB History
& Future About Us Feedback Site Map

Web www.techno-kitten.com