Skip to content
Paul Squires edited this page Sep 19, 2026 · 1 revision

Home › Procedures › Call

Call

Statement to invoke a subroutine

Syntax

Call procname ([parameter list])

Description

Calls a Sub or Function.

This keyword is a holdover from earlier dialects of BASIC, and is mainly deprecated.

In -lang qb, it can be used to call Subs in code before they are declared. The function will be implicitly Declare'd, with any parameters passed ByRef As Any.
Note: until the function is declared, no type-checking is done on the parameters, so it is up to the programmer to ensure they are of the correct type.

Remarks

Dialect Differences

  • The use of Call is not allowed in the -lang fb dialect. The -lang fblite dialect does not allow you to call functions that have not been previously declared.

Differences from QB

  • The procedure must have already been declared. Call in QB will make a copy of all parameters, so changes made to the arguments inside the called Sub will not be reflected in the variables in the caller.

See also

Examples

'' Compile with -lang qb or -lang fblite

#lang "fblite"

Declare Sub foobar(ByVal x As Integer, ByVal y As Integer)

Call foobar(35, 42)

Sub foobar(ByVal x As Integer, ByVal y As Integer)

Print x; y

End Sub
'' Compile with -lang qb or -lang fblite

#lang "fblite"

Function f ( ) As Integer

f = 42

End Function

Call f ' execute function f, but ignore the answer
'' Compile with -lang qb

'$lang: "qb"

Call mysub(15, 16) '' call "mysub" before it has been declared, or even mentioned.

Sub mysub(ByRef a As Integer, ByRef b As Integer)

    Print a, b

End Sub

Category: Procedures
Kind: keyword


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally