Innhald

# Declare-uttrykket

Deklarerer og definerer ein subrutine i ei DLL-fil som du vil køyra frå LibreOffice Basic.

Sjå også FreeLibrary

### Syntaks:

    Declare {Sub | Function} Namn Lib "Libnamn" [Alias "Aliasnamn"] [Argumentliste] [As Type]

### Parametrar:

Namn: Vert brukt for å kalla opp subrutinen frå LibreOffice Basic. Namnet må vera ulikt det som er brukt i DLL.

Aliasnamn: Namnet på subrutinen slik det er definert i DLL.

Libname: Fil- eller systemnamnet på DLL. Biblioteket vert lasta inn automatisk første gongen funksjonen vert brukt.

Argumentliste: Liste over parametrar som vert overførte til prosedyren ved oppkallet. Type og tal på parametrar er avhengig av den utførte prosedyren.

Type: Definerar datatypen for verdien som vert gjeve tilbake av ein funksjonsprosedyre. Du kan sløyfa denne parameteren dersom det er brukt typedeklareringsteikn etter namnet.

For å overføra ein parameter til ein subrutine som ein verdi i staden for ein referanse, må dette indikerast med nølkkelordet 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 matriser frå referanse, ikkje spesifiser elementtypane.
      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

Støtt oss!