Sisällys

# Declare Statement

Esittelee ja määrittelee DLL-tiedoston aliohjelman, joka halutaan suorittaa LibreOffice Basicista käsin.

Katso myös: FreeLibrary

### Syntaksi:

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

### Parametrit:

Nimi1: eri nimi kuin DLL:ssä määritetty, käytetään aliohjelman kutsumiseen LibreOffice Basicissa.

Aliasnimi: nimi, jolla aliohjelma on määritelty DLL:ssä.

Kirjastonimi: DLL:n tiedosto tai järjestelmänimi. Tämä kirjasto ladataan samalla, kun funktiota käytetään ensimmäisen kerran.

Argumenttiluettelo: parametriluettelo, joka edustaa kutsuttaessa proseduurille välitettäviä argumentteja. Parametrien tyyppi ja lukumäärä riippuu suoritettavasta proseduurista.

Tyyppi1: määrittää tietotyypin, joka on funktiorutiinin paluuarvolla. Tämä parametri voidaan jättää pois, jos tyypin määrittävä merkki on kirjoitettu nimen jälkeen.

Jotta parametri välitettäisiin aliohjelmaan arvona eikä viitteenä, parametri täytyy merkitä avainsanalla ByVal.

### Esimerkki:

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

## Example 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!