Conteúdo
Índice 🔎︎

# Instrução Call

Transfere o controle do programa para uma subrotina, uma função ou um procedimento de uma Dynamic Link Library (DLL). A palavra chave, tipo e número de parâmetros depende da rotina chamada.

## Sintaxe:

    [Call] nome [(] [param :=] valor, ... [)]

## Parâmetros:

nome: Nome da subrotina, função ou DLL a chamar.

param: nome do parâmetro a passar para a rotina, seguido de seu valor. O nome deve ser o mesmo que na declaração de rotina. Os parâmetros são opcionais e podem ser usados em qualquer ordem.

valor: valor do parâmetro por posição. O tipo depende da rotina chamada.

Ao misturar parâmetros de posição e nominais, garanta que os parâmetros de posição seguem a ordem de declaração da rotina.

Quando uma função é usada como parâmetro, é necessário envolver os parâmetros com parênteses. Usar uma Instrução Declare torna-se necessária antes de chamar a DLL.

## Exemplo:

    Sub ExampleCall
        Dim value As String
        value = "LibreOffice"
        Call aRoutine value
        aRoutine text := value
    End Sub

    Sub aRoutine (text as String)
        Msgbox text
    End Sub