Indhold

# Declare-udtryk

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

Se også: FreeLibrary

### Syntaks:

    Declare {Sub | Function} Name Lib "Biblioteksnavn" [Alias "Aliasnavn"] [Argumentliste] [As Type]

### Parametre:

Name: Et andet navn end defineret i DLL'en, til at kalde subrutinen fra LibreOffice Basic.

Aliasname: Subrutinens navn som defineret i DLL'en.

Libname: Fil- eller systemnavnet på DLL'en. Dette bibliotek bliver automatisk indlæst første gang funktionen anvendes.

Argumentlist: Liste af parametre der repræsenterer argumenter som overføres til proceduren når den bliver kaldt. Typen og antallet af parametre afhænger af den udførte procedure.

Type: Angiver datatypen på den værdi, der bliver returneret af en funktionsprocedure. Du kan udelade denne parameter hvis et typeerklæringstegn bliver indtastet efter navnet.

For at overføre en parameter til en subrutine som en værdi i stedet for som en reference, skal parameteren være indikeret af nøgleordet 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 overfører arrays som reference, undlad at specificere type af dets elementer.
      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øt os venligst!