PBLRescue

PBLRescue is a utility for PowerBuilder (PB) developers to recover PB objects from corrupted PowerBuilder Libraries (PBLs). In most cases PBLRescue can recover many, if not all, of the objects, saving hours of manual recovery effort.

Pricing: $150./single license

Why Do PBL’s Become Corrupted?

A PowerBuilder library is a binary file that essentially includes the source and p-code for PB objects. The objects are normally found in the library by a directory or “table of contents” that appears at the beginning of the library. There is also a section of the PBL that identifies “free” sections in the library. The free sections are those that are currently unused portions of the PBL because, for example, an object was deleted or reduced in size.

When either the directory or the information about free sections becomes inaccurate, the objects in the PBL may become inaccessible. This is what is typically called a “corrupted” PBL. The directory and free section information become inaccurate because there was an interruption (or flaw) in the process of updating them. For example, if an object is moved within the library because it outgrows its original location, and the PC is turned off abruptly before the directory is updated, then the directory becomes inaccurate. The moved object becomes inaccessible and if the PBL is used again other sections of the library may become corrupted. The signs that a PBL has become corrupted include:

  • You can’t open the PBL in the Library Painter
  • You can’t open certain objects in the PBL
  • Regenerating objects in the PBL cause PowerBuilder to crash
  • You’re loosing scripts in your objects

How Does PBLRescue Work?

PBLRescue works by searching the corrupted PBL for fragments of objects, assembling them in order and then writing them to a file. It does not use the directory (“table of contents”), since it is likely to be inaccurate and the source of the corruption. During the search it checks for valid data as much as possible to avoid writing objects which could not be imported or which would produce irrecoverable errors during the import process.

When Do I Use PBLRescue?

You should use PBLRescue at the first sign that you have a corrupted PBL. The longer a PBL is used after it becomes corrupted the less likely that its objects can be recovered.

How Do I Use PBLRescue?

PBLRescue runs as a Wizard which guides you through the steps of recovering objects from the corrupted PBL.