Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varje Visual Basic-program måste innehålla en procedur med namnet Main. Den här proceduren fungerar som startpunkt och övergripande kontroll för ditt program. .NET Framework anropar din Main procedur när programmet har lästs in och är redo att skicka kontroll till det. Om du inte skapar ett Windows Forms-program måste du skriva proceduren Main för program som körs på egen hand.
Main innehåller koden som körs först. I Mainkan du avgöra vilket formulär som ska läsas in först när programmet startar, ta reda på om en kopia av programmet redan körs i systemet, upprätta en uppsättning variabler för ditt program eller öppna en databas som programmet kräver.
Krav för huvudproceduren
En fil som körs på egen hand (vanligtvis med tillägget .exe) måste innehålla en Main procedur. Ett bibliotek (till exempel med tillägget .dll) körs inte på egen hand och kräver Main ingen procedur. Kraven för de olika typer av projekt som du kan skapa är följande:
Konsolprogram körs på egen hand och du måste ange minst en
Mainprocedur.Windows Forms-program körs på egen hand. Visual Basic-kompilatorn genererar dock automatiskt en
Mainprocedur i ett sådant program och du behöver inte skriva någon.Klassbibliotek kräver inte en
Mainprocedur. Dessa inkluderar Windows-kontrollbibliotek och webbkontrollbibliotek. Webbprogram distribueras som klassbibliotek.
Deklarera huvudproceduren
Det finns fyra sätt att deklarera proceduren Main . Det kan ta argument eller inte, och det kan returnera ett värde eller inte.
Anmärkning
Om du deklarerar Main i en klass måste du använda nyckelordet Shared . I en modul Main behöver inte vara Shared.
Det enklaste sättet är att deklarera en
Subprocedur som inte tar argument eller returnerar ett värde.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 ModuleMainkan också returnera ettIntegervärde som operativsystemet använder som slutkod för ditt program. Andra program kan testa den här koden genom att undersöka Windows ERRORLEVEL-värdet. Om du vill returnera en slutkod måste du deklareraMainsom enFunctionprocedur i stället för enSubprocedur.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 ModuleMainkan också ta enStringmatris som ett argument. Varje sträng i matrisen innehåller ett av de kommandoradsargument som används för att anropa programmet. Du kan vidta olika åtgärder beroende på deras värden.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 ModuleDu kan deklarera
Mainför att undersöka kommandoradsargumenten men inte returnera en slutkod enligt följande.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