Bagikan melalui


Prosedur Utama di Visual Basic

Setiap aplikasi Visual Basic harus berisi prosedur yang disebut Main. Prosedur ini berfungsi sebagai titik awal dan kontrol keseluruhan untuk aplikasi Anda. .NET Framework memanggil prosedur Anda Main ketika telah memuat aplikasi Anda dan siap untuk meneruskan kontrol ke prosedur tersebut. Kecuali Anda membuat aplikasi Windows Forms, Anda harus menulis Main prosedur untuk aplikasi yang berjalan sendiri.

Main berisi kode yang berjalan terlebih dahulu. Dalam Main, Anda dapat menentukan formulir mana yang akan dimuat terlebih dahulu ketika program dimulai, mencari tahu apakah salinan aplikasi Anda sudah berjalan pada sistem, membuat sekumpulan variabel untuk aplikasi Anda, atau membuka database yang diperlukan aplikasi.

Persyaratan untuk Prosedur Utama

File yang berjalan sendiri (biasanya dengan ekstensi .exe) harus berisi Main prosedur. Pustaka (misalnya dengan ekstensi .dll) tidak berjalan sendiri dan tidak memerlukan prosedur Main. Persyaratan untuk berbagai jenis proyek yang dapat Anda buat adalah sebagai berikut:

  • Aplikasi konsol berjalan sendiri, dan Anda harus menyediakan setidaknya satu Main prosedur.

  • Aplikasi Windows Forms berjalan sendiri. Namun, pengkompilasi Visual Basic secara otomatis menghasilkan Main prosedur dalam aplikasi seperti itu, dan Anda tidak perlu menulisnya.

  • Perpustakaan kelas tidak memerlukan prosedur Main. Ini termasuk Pustaka Kontrol Windows dan Pustaka Kontrol Web. Aplikasi web disebarkan sebagai pustaka kelas.

Mendeklarasikan Prosedur Utama

Ada empat cara untuk mendeklarasikan prosedur Main. Ini dapat mengambil argumen atau tidak, dan dapat mengembalikan nilai atau tidak.

Nota

Jika Anda mendeklarasikan Main di kelas, Anda harus menggunakan Shared kata kunci. Dalam modul, Main tidak perlu Shared.

  • Cara paling sederhana adalah dengan mendeklarasikan Sub prosedur yang tidak mengambil argumen atau mengembalikan nilai.

    Module mainModule
        Sub Main()
            MsgBox("The Main procedure is starting the application.")
            ' Insert call to appropriate starting place in your code.
            MsgBox("The application is terminating.")
        End Sub
    End Module
    
  • Main juga dapat mengembalikan Integer nilai, yang digunakan sistem operasi sebagai kode keluar untuk program Anda. Program lain dapat menguji kode ini dengan memeriksa nilai Windows ERRORLEVEL. Untuk mengembalikkan kode keluar, Anda harus menyatakan Main sebagai prosedur Function daripada prosedur Sub.

    Module mainModule
        Function Main() As Integer
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' Insert call to appropriate starting place in your code.
            ' On return, assign appropriate value to returnValue.
            ' 0 usually means successful completion.
            MsgBox("The application is terminating with error level " &
                 CStr(returnValue) & ".")
            Return returnValue
        End Function
    End Module
    
  • Main juga dapat mengambil String array sebagai argumen. Setiap string dalam array berisi salah satu argumen baris perintah yang digunakan untuk memanggil program Anda. Anda dapat mengambil tindakan yang berbeda tergantung pada nilainya.

    Module mainModule
        Function Main(ByVal cmdArgs() As String) As Integer
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' See if there are any arguments.
            If cmdArgs.Length > 0 Then
                For argNum As Integer = 0 To UBound(cmdArgs, 1)
                    ' Insert code to examine cmdArgs(argNum) and take
                    ' appropriate action based on its value.
                Next
            End If
            ' Insert call to appropriate starting place in your code.
            ' On return, assign appropriate value to returnValue.
            ' 0 usually means successful completion.
            MsgBox("The application is terminating with error level " &
                 CStr(returnValue) & ".")
            Return returnValue
        End Function
    End Module
    
  • Anda dapat menyatakan Main untuk memeriksa argumen baris perintah tetapi tidak mengembalikan kode keluar, sebagai berikut.

    Module mainModule
        Sub Main(ByVal cmdArgs() As String)
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' See if there are any arguments.
            If cmdArgs.Length > 0 Then
                For argNum As Integer = 0 To UBound(cmdArgs, 1)
                    ' Insert code to examine cmdArgs(argNum) and take
                    ' appropriate action based on its value.
                Next
            End If
            ' Insert call to appropriate starting place in your code.
            MsgBox("The application is terminating.")
        End Sub
    End Module
    

Lihat juga