Πρόταση Declare

Χρησιμοποιείται για να δηλώσει και να καθορίσει μια υπορουτίνα σε ένα DLL (βιβλιοθήκη δυναμικής σύνδεσης) που πρόκειται να εκτελεσθεί από τη LibreOfficeDev Basic.

Δείτε επίσης: FreeLibrary

Σύνταξη:


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

Παράμετροι:

Name: Διαφορετικό όνομα από αυτό που καθορίζεται στη DLL, που χρησιμοποιείται για να καλέσει την υπορουτίνα από την LibreOfficeDev Basic.

Aliasname: Όνομα της υπορουτίνας όπως καθορίζεται στη DLL.

Libname: Όνομα αρχείου ή συστήματος της DLL. Αυτή η βιβλιοθήκη φορτώνεται αυτόματα την πρώτη φορά που χρησιμοποιείται η συνάρτηση.

Argumentlist: Κατάλογος παραμέτρων που αντιπροσωπεύουν τα ορίσματα που μεταβιβάζονται στη διαδικασία όταν αυτή καλείται. Ο τύπος και ο αριθμός των παραμέτρων εξαρτάται από την διαδικασία που εκτελείται.

Type: Καθορίζει τον τύπο δεδομένων της τιμής που επιστέφει μια διαδικασία Function. Μπορεί να αποκλεισθεί αν ο χαρακτήρας δήλωσης τύπου εισαχθεί μετά το όνομα.

Εικονίδιο προειδοποίησης

Οι παράμετροι θα πρέπει να δηλώνονται με τη λέξη-κλειδί 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

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
Παρακαλούμε, υποστηρίξτε μας!

Παρακαλούμε, υποστηρίξτε μας!