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 Main
Anda ketika telah memuat aplikasi Anda dan siap untuk meneruskan kontrol ke prosedur tersebut. Kecuali Anda membuat aplikasi Formulir Windows, Anda harus menulis prosedur Main
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 prosedur Main
. 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 prosedur
Main
.Aplikasi Formulir Windows berjalan sendiri. Namun, pengompilasi Visual Basic secara otomatis menghasilkan prosedur
Main
dalam aplikasi seperti itu, dan Anda tidak perlu menulisnya.Pustaka 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 menampilkan nilai atau tidak.
Catatan
Jika Anda mendeklarasikan Main
di kelas, Anda harus menggunakan kata kunci Shared
. Dalam modul, Main
tidak perlu Shared
.
Cara paling sederhana adalah dengan mendeklarasikan prosedur
Sub
yang tidak mengambil argumen atau menampilkan 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 menampilkan nilaiInteger
, yang digunakan sistem operasi sebagai kode keluar untuk program Anda. Program lain dapat menguji kode ini dengan memeriksa nilai Windows ERRORLEVEL. Untuk menampilkan kode keluar, Anda harus menyatakanMain
sebagai prosedurFunction
alih-alih prosedurSub
.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 arrayString
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 menampilkan 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