Please enable JavaScript to view this site.

The OB methods table (OBMETHODS) consists of a number of contiguous (OBMETHOD) definitions, each of which contains all the information about a specific OB method related to the OB class to which it belongs.

The location (relative to the file) and the number of elements in the table are specified by the OBCLASS.METHODSOFF and OBCLASS.METHODSCNT fields, respectively.

OB method definition

An OB method (OBMETHOD) consists of the following information:

Name

Offset

Type

Description

ID

+0

U32

OB method ID.

Note: the values 0 and 0xFFFFFF are special meaning IDs.

 

+4

U8[2]

(reserved)

FLAGS

+6

U16

OB method settings:

0x0001 Uncompressed TEXT field (NCF0).

0x0002 Uncompressed MODIFIER field (NCF1).

NAME

+8

U32

Offset OB method name (related to strings).

KNAME

+12

U32

Offset key name of OB method (relative to strings).

TEXT

+16

U32

Offset description of OB method (relative to compressed strings, or strings if NCF0).

CALLID

+20

U32

Method ID in call (#1)

PARAMSOFF

+24

U32

Offset of parameter table for OB method (relative to file).

PARAMSCNT

+28

U32

Size of parameter table by OB method.

RETTYPEID

+32

U32

Return variable type ID.

Note: Can be a default or user-defined type.

ATTRIB

+36

U32

Attributes method.

MODIFIER

+40

U32

OB method modifier offsets (related to compressed strings, or strings if NCF1).

 

+44

U8[16]

(reserved)

(#1) The value of the CALLID field is derived from the value of the METHOD.ID field, in the source .OBB file.

Parameter table for OB method

The parameter table by OB method (OBMETHODPS) consists of a number of contiguous definitions (OBMETHODP), each of which contains all the information about a specific parameter related to the OB method to which it belongs.

The location (relative to the file) and the number of elements in the table are specified by the OBMETHOD.PARAMSOFF and OBMETHOD.PARAMSCNT fields, respectively.

Parameter definition for OB method

A parameter for OB method (OBMETHODP) consists of the following information:

Name

Offset

Type

Description

TYPEID

+0

U32

Variable type ID

Note: Can be a predefined type or user-defined.

ATTRIB

+4

U16

Parameter attributes:

0x0001 Parameter passed by reference (ABYREF)

0x0002 Parameter passed by pointer (ABYPTR)

FLAGS

+6

U16

Parameter settings:

0x0001 Uncompressed TEXT field (NCF0).

NAME

+8

U32

Offset parameter name (relative to strings).

TEXT

+12

U32

Offset parameter description (relative to compressed strings, or strings if NCF0).

DIM0

+16

U32

1st array size (0=unspecified)(#1).

DIM1

+20

U32

2nd array size (0=unspecified)(#1).

DIM2

+24

U32

3rd array size (0=unspecified)(#1).

 

+28

B[16]

(reserved)

(#1) Although ARRAYn fields are 32bit, in the current version of SW the maximum size should still be considered only 16bit (i.e., maximum index 0xFFFF).

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC