PowerBuilder provides an object browser - the utility accessed via the "Cubes
with a pair of eyeglasses" icon on the PowerBar menu. If you haven't tried
the PB browser, you should. Among other things, it eliminates the problem of
identifying which PBL contains the object of interest. Click a tab to select
an object type and you're immediately presented with a list of the current
application's objects of that type. Right-click an object, select Edit from
the popup menu and PB opens the object in the relevant painter. It's a fast
way to navigate your PB application.
The PB browser has other essential functionalities: for example, the OLE tab
presents the list of OLE objects known to your Windows OS. Check it out.
PBBrowse 2.14 is the latest version of Ken Howe's alternative... (more)
A typical PowerBuilder application has a few zillion MessageBox() calls. This
article explains how you can roll your own MessageBox() function, replacing
the native PowerBuilder MB() function with your code.
Why would you want to write your own MB() function? The general reason is to
give you a "hook" where you can write code to modify the native Windows MB()
behavior. Let's face it, the ... (more)
It's an aesthetic thing. When you click on a grid DataWindow label and change
an attribute, it acquires what are formally termed UGBs - Ugly Grid Borders.
They appear between the labels in the grid header. The vertical lines are
thin or thick. Inconsistency! Thick borders! Yuck! Figure 1 illustrates the
problem.
There are thick borders between the Nickname and Last Name labels and between... (more)
Roland Smith's PBSearch utility is the tool to turn to when you need to find
a string in your PowerBuilder application. For example, if you have an error
message from a bug report, it takes PBSearch only a few seconds to find all
the instances of that message. Similarly, if you want to see usage examples
for a given function, PBSearch will quickly find and show you the places
where that ... (more)
Overloading allows two or more functions to have the same name and return
type, if their signature is different. The function signature is defined by
its number and types of arguments. When you call an overloaded function,
PowerBuilder decides which version of the function to call based on the
function signature. This can be exploited to determine an object's type at
runtime. This articl... (more)