Obsah

# Příkaz Declare

Deklaruje a definuje podprogram v DLL souboru, který chcete spustit z LibreOffice Basic.

Viz též: FreeLibrary

### Syntaxe:

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

### Parametry:

Name: Název, pod kterým se podprogram volá z LibreOffice Basic, jiný než určený v DLL.

Aliasname: Název podprogramu určený v DLL.

Libname: Soubor nebo systémový název DLL. Tato knihovna se automaticky načte při prvním použití funkce.

Argumentlist: Seznam parametrů představující argumenty, které se při volání předávají proceduře. Typ a počet parametrů závisí na spouštěné proceduře.

Type: Definuje datový typ hodnoty, kterou funkce vrací. Tento parametr je možné vynechat, pokud za jménem funkce zadáte znak typové deklarace.

Chcete-li podprogramu předat parametr hodnotou namísto odkazem, musíte parametr určit klíčovým slovem ByVal.

### Příklad:

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

## Příklad 2

      REM Při předávání polí odkazem se neuvádějí typy jejich prvků.
      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

Podpořte nás!