pbsig150
Description
The PowerBuilder function signature is the internal signature
of a PowerBuilder function that is used to identify polymorphism
functions in a class. The pbsig150 tool obtains
these function signatures from a PBL.
Inherited functions
You can also obtain a signature by selecting the function
in the System Tree or Browser and selecting Properties from its
pop-up menu. The pbsig150 tool does not report
the signature of functions that are inherited from an ancestor object
unless they are extended in the descendant. For such functions,
you must use the Properties dialog box to obtain the signature.
The Properties dialog box in the Browser also allows you to obtain
the signature of PowerBuilder system functions.
Syntax
|
1 |
pbsig150 <span>pbl_name</span> |
Examples
This command extracts function signatures from one
of the PBLs in the Code Examples sample application:
|
1 |
pbsig150 pbexamw1.pbl |
Here is some of the output from the previous command:
|
1 |
PB Object Name: w_date_sort<br>   public subroutine of_sort (string as_Column,<br>      string as_Order)<br>      /* QSS */<br> <br>PB Object Name: w_date_window<br>   public function boolean of_is_leap_year<br>      (integer ai_year)<br>      /* BI */<br> <br>   public subroutine of_days ()<br>      /* Q */<br> <br>PB Object Name: w_dde_server<br>   public subroutine check_hotlink (checkbox status,<br>      string data, string item)<br>      /* QCcheckbox.SS */<br> <br>PB Object Name: w_dir_treepublic function integer    wf_collapse_rows (datawindow<br>      adw_datawindow, long al_startrow)<br>      /* ICdatawindow.L */<br>   public function long of_recurse_dir_list (string<br>      as_path, long al_parent)<br>      /* LSL */<br>   public function string of_build_dw_tree<br>     (long al_handle)<br>      /* SL */ |
The following example illustrates the use of a letter code
to represent a PowerBuilder system class or a custom class. Consider
this function:
|
1 |
function integer of_get_all_sales_orders (Ref s_sales_order astr_order[], date adt_date, integer ai_direction) |
For this function, the pbsig150 tool returns
the following string. The first argument is an unbounded array of
type s_sales_order and is
passed by reference:
|
1 |
/* IRCs_sales_order.[]YI */ |
Usage
The pbsig150 tool generates a string that
represents the declaration and signature of all the functions and
events in the PBL, including argument types, return types, and passing
style. Each function and event is followed by a commented string.
You pass the commented string, for example, QSS in
the first comment in the previous example, as the last argument
to the GetMethodID method.
For example, the following output indicates that the function
returns an integer and has a single integer argument passed by reference:
|
1 |
/* IRI */ |
PowerBuilder arrays
PowerBuilder arrays are indicated with a pair of square brackets [ ] as
a suffix. For bounded arrays, the brackets enclose the bounds.
|
1 |
/* IRCdatastore.RS[]SS */ |
PowerBuilder system or custom class
Additional letter codes represent a PowerBuilder system class
or a custom class. The letter C followed by the name of a PowerBuilder
object or enumerated class and a period (Cname.) represents
an argument or return value of that type.
The following table shows how the output from pbsig150 maps
to datatypes and other entities.
|
Output |
Datatype |
|---|---|
|
[ ] |
array |
|
A |
any |
|
B |
boolean |
|
C |
class |
|
D |
double |
|
E |
byte |
|
F |
real |
|
G |
basictype |
|
H |
character |
|
I |
integer |
|
J |
cursor |
|
K |
longlong |
|
L |
long |
|
M |
decimal |
|
N |
unsigned integer (uint) |
|
O |
blob |
|
P |
dbproc |
|
Q |
No type (subroutine) |
|
S |
string |
|
T |
time |
|
U |
unsigned long (ulong) |
|
W |
datetime |
|
Y |
date |
|
Z |
objhandle |
The passing style is indicated by a prefix on the type.
|
Prefix |
Meaning |
|---|---|
|
None |
Pass by value |
|
R |
Pass by reference |
|
X |
Pass as read only |
|
V |
Variable arguments (varargs) |