Ajuda do LibreOfficeDev 26.8
Declara e define uma sub-rotina numa DLL que pretenda executar a partir do LibreOfficeDev Basic.
Consulte também: FreeLibrary
Declare {Sub | Function} Nome Lib "Libname" [Alias "Nome alternativo"] [Parameter] [As Tipo]
Nome: um nome diferente do definido na DLL, para invocar a sub-rotina do LibreOfficeDev Basic.
Nome alternativo: nome da sub-rotina conforme definido na DLL.
NomeBib: Nome do ficheiro ou sistema da DLL. Esta biblioteca é automaticamente carregada na primeira vez que a função é utilizada.
Lista de argumentos: a lista dos parâmetros que representam os valores transferidos para o procedimento quando este é invocado. O tipo e o número dos parâmetros dependem do procedimento executado.
Tipo: define o tipo de dados do valor devolvido por uma função. Pode excluir este parâmetro introduzindo um carácter de declaração de tipo após o nome.
Para transferir um parâmetro para uma sub-rotina como um valor em vez de uma referência, o parâmetro terá de ser indicado pela palavra-chave 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
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