Contents

# Declare Statement

একটি DLL ফাইলের মধ্যে একটি সাবরুটিন ডিক্লেয়ার এবং নির্ধারণ করে থাকে যা আপনি LibreOffice বেসিক থেকে চালাতে চান।

আরও দেখুন: FreeLibrary

### Syntax:

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

### Parameters:

নাম: DLL এ নির্ধারিত একটি ভিন্ন নাম, LibreOffice বেসিক থেকে সাবরুটি কল করার জন্য।

উপনাম: DLL এ নির্ধারিত সাবরুটিনের নাম।

Libname: DLL এর ফাইল অথবা সিস্টেমের নাম। ফাংশনটি প্রথমবার ব্যবহার করা হলে লাইব্রেরিটি স্বয়ংক্রিয়ভাবে লোড হয়ে থাকে।

Argumentlist: আরগুমেন্ট উপস্থাপনকারী প্যারামিটারের তালিকা যা কল করার সময় প্রসিজারে পাস করা হয়। প্যারামিটারের ধরন এবং সংখ্যা চালানো প্রসিজারের উপর নির্ভর করে থাকে।

ধরন: মানের ডাটা টাইপ প্রদান করে থাকে যা একটি ফাংশন প্রসিজার দ্বারা প্রদান হয়। যদি নামের পরে একটি টাইপ-ডিক্লেয়ার করার অক্ষর অন্তর্ভূক্ত করা হয় তাহলে আপনি এই প্যারামিটারটি বাদ দিতে পারেন।

রেফারেন্সের পরিবর্তে একটি মান হিসেবে একটি প্যারামিটারকে সাবরুটিনে পাস করানোর জন্য প্যারামিটারটি অবশ্যই 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!