Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PBL cannot be expanded, nor objects viewed within PB

Status
Not open for further replies.

LukeAirig

Programmer
Feb 11, 2013
2
Hello,

I am a complete newbie to PB and can use some help.
My PB version is 11.2 Build 8407.

I have added a pbl to my library list within PB but it does not have a plus sign (+) in front of it, which I normally click to expand/show the objects in the pbl.

In Windows Explorer it shows a file size of 2017 KB, so there must be something in there. The file properties in Windows Explorer are not marked read-only nor hidden. Is there some setting within PB that I need to set to access the objects in the pbl?

TIA for any help you can give me.

Luke
 
No there's no setting, it should simply work.

1) Maybe there really is no object at all in the pbl?
2) maybe the pbl is "corrupt". Try to do an 'optimize' using right-mouse button from the library painter.

You can simply copy any object to that library or create a 'dummy' new one (simply create a new window witout nothing) and save it in the library/pbl that you are having the problem with.

I'd go for the "optimize" first.



regards,
Miguel L.
 
The fact that your library is occupying space, does not necessarily mean there's an object in it.
Powerbuilder 11, does not automatically decrease the size of your library when deleting objects: that's where the 'optimize' does its work.
"Optimize" also checks for 'lost' objects in a pbl: sometimes, especially when trying to import exported and modified code, when compilation does not succeed at the import, there's garbage code present in the library, without seeing it's object name in the list.
It's a good habbit to optimize all of your libraries every now and then (I do it always before creating and deploying any executable).




regards,
Miguel L.
 
Miguel,

I have to put this aside for the time being. I will try your optimize suggestion and post an update later on.
Thanks for your help and insights.

Luke
 
You can examine the pbl with a hex editor. If there are objects in the pbl you should see them listed towards the top of the file.

For example, a pbl of mine has

Code:
mbtest.sra.ENT*0600....F....APJ....mbtest.apl.ENT*0600 and further along
w_frogpond.win.ENT*0600 and n_base_sru, n_base_udo....

The objects
mbbest, w_frogpond, and n_base are all objects contained within the pbl.

You may also wish to Google 'PBdump' which is an application that allows you to extract objects from a pbl. (They are extracted into a text file similar to an export from PB).

Matt

"Nature forges everything on the anvil of time"
 
An empty library that has never had an object in it has a size of 4,608 bytes. You can Optimize it by right clicking on it in the workspace tree and selecting Optimize. What this does is rename the old library as .bak and create a new .pbl file. It then copies any valid objects from the old library to the new one.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top