Contents

# Declare Statement

LibreOffice Basic에서 실행할 서브루틴을 DLL 파일에서 선언하고 지정합니다.

참고 항목: FreeLibrary

### Syntax:

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

### Parameters:

Name: LibreOffice Basic에서 서브루틴을 호출하기 위한 것으로, DLL에 지정된 것과는 다른 이름입니다.

Aliasname: DLL에 지정된 서브루틴의 이름입니다.

Libname: DLL의 파일 또는 시스템 이름입니다. 이 라이브러리는 함수를 처음 사용할 때 자동으로 로드됩니다.

Argumentlist: 프로시저에 호출 시 전달되는 인수를 나타내는 매개 변수의 목록입니다. 매개 변수의 유형과 이름은 실행되는 프로시저에 따라 다릅니다.

Type: 함수 프로시저를 사용하여 구하는 값의 데이터 형식을 지정합니다. 이름 뒤에 유형 선언 문자를 입력할 경우 이 매개 변수를 제외할 수 있습니다.

매개 변수를 참조 대신 값으로 서브루틴에 전달하려면 매개 변수를 키워드 ByVal로 나타내야 합니다.

### Example:

    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!