Guida di LibreOfficeDev 26.8
Dichiara e definisce una subroutine in una DLL che potete eseguire da LibreOfficeDev Basic.
Vedere anche: FreeLibrary
Declare {Sub | Function} Name Lib "NomeLib" [Alias "NomeAlias"] [Parametro] [As Type]
Nome: nome differente da quello definito nella DLL, usato per chiamare la subroutine da LibreOfficeDev Basic.
NomeAlias: nome della subroutine definita nella DLL.
NomeLib: nome del file o nome di sistema della DLL. Questa libreria viene caricata automaticamente al primo utilizzo della funzione.
ElencoArgomenti: elenco di parametri che rappresenta gli argomenti passati alla procedura al momento della chiamata. Il tipo e il numero dei parametri dipendono dalla procedura eseguita.
Tipo: definisce il tipo di dati del valore restituito da una procedura della funzione. Questo parametro può essere escluso se il nome è seguito da un carattere di dichiarazione del tipo.
Per passare un parametro a una subroutine come valore anziché come riferimento, il parametro deve essere indicato con la parola chiave 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