Conteníu

# Declare Statement

Declara y define una subrutina nun ficheru DLL que se deseye executar dende LibreOffice Basic.

Consulte tamién: FreeLibrary

### Syntax:

    Declare {Sub | Function} Name Lib "Libname" [Alias "Aliasname"] [Argumentlist] [As Type]

### Parameters:

Nome: nome distintu al definíu na DLL pa llamar a la subrutina dende LibreOffice Basic.

NomeAlias: Nome de la subrutina como se define na DLL.

NomeBiblioteca: Ficheru o nome del sistema de la DLL. Esta biblioteca cárgase automáticamente la primer vegada que s'utiliza la función.

ListaArgumentos: llista de parámetros que representen argumentos que se pasen al procedimientu cuando s'apuerta a él. El tipu y númberu de parámetros depende del procedimientu que s'execute.

Tipu: define'l tipu de datos del valor que devuelve un procedimientu de función. Pue escluyir esti parámetru si introduz un caráuter de declaración de tipu dempués del nome.

Pa pasar un parámetru a una subrutina como valor en llugar de como referencia, el parámetru tien de tar indicáu cola pallabra clave ByVal.

### Example:

    Declare Sub MyMessageBeep Lib "user32.dll" Alias "MessageBeep" ( Long )
    Sub ExampleDeclare
    Dim lValue As Long
        lValue = 5000
        MyMessageBeep( lValue )
        FreeLibrary("user32.dll" )
    End Sub

## Exemplu 2

      REM When passing arrays by reference, do not specify the type of its elements.
      Declare Function GetDiag Lib "C:\\...\\Math.dll" _
         Alias "GetDiag" ( _
         ByVal varName As String, _
         A, _
         ByVal len As Long, _
         ByVal FunctionName As String, _
         B, _
         C) As Long
    Sub MyCode
      Dim A(100) As Long, B(100) As Long, C(100) As Long ' arrays
      R = GetDiag("f", A, 100, "g", B, C)
      Print R
    End Sub

Please support us!