Зміст

# Інструкція Declare

Використовується для оголошення і визначення підпрограми, розташованої у файлі DLL, яка повинна виконуватися з LibreOffice Basic.

Див. також: FreeLibrary

### Синтаксис:

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

### Параметри:

Назва: Назва, відмінна від назви, визначеної у бібліотеці DLL, призначена для виклику підпрограми з LibreOffice Basic.

Псевдоназва: назва підпрограми, визначена у бібліотеці DLL.

Назва_бібліотеки: файлова або системна назва бібліотеки DLL. Ця бібліотека автоматично буде завантажена при першому використанні функції.

Аргументи: список параметрів, які є аргументами викликаної процедури. Тип і кількість параметрів залежать від виконуваної процедури.

Тип: визначає тип значення, яке повертається функцією/процедурою. Цей параметр можна виключити, якщо дескриптор типу вводиться після назви.

Параметри повинні супроводжуватися ключовим словом ByVal, якщо їх необхідно передавати у викликану процедуру за значенням, а не за посиланням.

### Приклад:

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

## Зразок 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

Будь ласка, підтримайте нас!