Method & Property Signatures

A signature is a concatenation of one or more datatype string representation.

Here is the different possible string representations:

Type String
Boolean "b"
Byte "h"
Short "s"
Integer "i"
Long "l"
Single "g"
Float "f"
Date "d"
String "s"
Variant "v"
Object "o"
Any other class "_ClassName_;"

Optional arguments are placed between square brackets ("[" & "]").

The name of the argument can be specified between braces, before the argument datatype. You cannot specify a name for return datatypes.

Examples
Declaration Description
GB_METHOD("Add", NULL, collection_add, "(Value)v(Key)s") A method that takes a Variant and a String as arguments, and that returns nothing.
GB_METHOD("Exist", "b", collection_exist, "(Key)s") A method that takes a String as argument, and that returns a Boolean.
GB_METHOD("Clear", NULL, CARRAY_clear, NULL) A method that takes no argument and that returns nothing.
GB_METHOD("Insert", NULL, CARRAY_insert, "(Array)String[];[(Pos)i]") A method that take a String array as first argument, an optional Integer as second argument, and that returns nothing.
GB_METHOD("Sort", "String[]", CARRAY_sort, "[(Mode)i]") A method that takes an optional Integer as argument, and that returns a String array.
GB_STATIC_PROPERTY_READ("Charset", "s", CSYSTEM_charset) A property that returns a String.
GB_METHOD("Grab", "Picture", CWIDGET_grab, NULL) A property that returns a Picture object.