Innhold

# Deklarer Uttrykk

Erklærer og definerer en subrutine i en DLL-fil som du vil kjøre fra LibreOfficeDev Basic.

Se også: FreeLibrary

### Syntaks:

    Deklarer {Sub | Function} Navn Lib "Biblioteksnavn" [Alias "Aliasnavn"] [Argumentliste] [Som type]

### Parametre:

Navn: Et annet navn enn definert i DLL, for å kalle subrutinen fra LibreOfficeDev Basic.

Aliasnavn: Navnet på subrutinen som definert i DLL.

Libname: Fil- eller systemnavnet til DLL-en. Dette biblioteket lastes automatisk inn første gang funksjonen brukes.

Argumentliste: Liste over parametere som representerer argumenter som sendes til prosedyren når den kalles. Type og antall parametere er avhengig av den utførte prosedyren.

Type: Definerer datatypen til verdien som returneres av en funksjonsprosedyre. Du kan ekskludere denne parameteren hvis et typedeklarasjonstegn angis etter navnet.

For å sende en parameter til en subrutine som en verdi i stedet for som en referanse, må parameteren angis med nøkkelordet ByVal.

### Eksempel:

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

## Eksempel 2

      REM Når du sender arrayer som referanse, må du ikke spesifisere typen til elementene.
      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

Supporter oss!