Table of Contents

FUNCTION

The FUNCTION keyword starts a function block.

Syntax

FUNCTION <name> AS <type> ([<arg> AS <type>[, <arg> AS <type>]...]) [OVERLOAD] [PRIVATE|SHARED] [STATIC]
  <statements>
END FUNCTION
  • <name> must be a valid identifer
  • <type> must be provided and it must be a defined type (internal or user-defined)
  • The argument list is optional, but the parenthesis () must be included
  • The OVERLOAD keyword must be given if the function overloads another function with the same name
  • If the function is defined in a TYPE block, the PRIVATE keyword indicates that the function may only be called from within that TYPE block.
  • The SHARED keyword indicates that the function is visible from within other code modules
  • The STATIC keyword indicates that no stack frame is allocated on each function call. See static_vs_dynamic

See also