DO()

Calls a procedure or a function

Syntax

DO( <xFuncProc> [, <xArguments...>] )

Arguments

<xFuncProc> = Either a string with a function/procedure name to be called or a codeblock to evaluate.
<xArguments> = arguments passed to a called function/procedure or to a codeblock.

Returns

A value that was returned from called function.

Description

This function can be called either by the harbour compiler or by user. The compiler always passes the item of IT_SYMBOL type that stores the name of procedure specified in DO WITH ... statement.
If called procedure/function doesn't exist then a runtime error is generated.
This function can be used as replacement of macro operator. It is also used internally to implement DO WITH In this case is of type HB_SYMB.

Examples

cbCode ={|x| MyFunc( x )}
DO( cbCode, 1 )
cFunction := "MyFunc"
xRetVal :=DO( cFunction, 2 )
Old style (slower):
DO &cFunction WITH 3

Files

Library is rtl