Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede Visual Basic-Anwendung muss eine Prozedur namens Main
enthalten. Dieses Verfahren dient als Ausgangspunkt und gesamter Kontrolle für Ihre Anwendung. Das .NET Framework ruft Ihre Main
Prozedur auf, wenn sie Ihre Anwendung geladen hat und bereit ist, die Steuerung an sie zu übergeben. Sofern Sie keine Windows Forms-Anwendung erstellen, müssen Sie die Main
Prozedur für Anwendungen schreiben, die eigenständig ausgeführt werden.
Main
enthält den Code, der zuerst ausgeführt wird. In Main
, können Sie bestimmen, welches Formular zuerst geladen werden soll, wenn das Programm gestartet wird, herausfinden, ob eine Kopie Ihrer Anwendung bereits auf dem System ausgeführt wird, eine Reihe von Variablen für Ihre Anwendung einrichten oder eine Datenbank öffnen, die die Anwendung benötigt.
Anforderungen für das Hauptverfahren
Eine Datei, die eigenständig ausgeführt wird (in der Regel mit Erweiterung .exe), muss eine Main
Prozedur enthalten. Eine Bibliothek (z. B. mit Erweiterung .dll) wird nicht eigenständig ausgeführt und benötigt keine Main
Prozedur. Die Anforderungen für die verschiedenen Arten von Projekten, die Sie erstellen können, sind wie folgt:
Konsolenanwendungen werden eigenständig ausgeführt, und Sie müssen mindestens eine
Main
Prozedur bereitstellen.Windows Forms-Anwendungen werden eigenständig ausgeführt. Der Visual Basic-Compiler generiert jedoch automatisch eine
Main
Prozedur in einer solchen Anwendung, und Sie müssen keines schreiben.Klassenbibliotheken benötigen keine
Main
Prozedur. Dazu gehören Windows-Steuerelementbibliotheken und Websteuerelementbibliotheken. Webanwendungen werden als Klassenbibliotheken bereitgestellt.
Deklarieren der Main-Prozedur
Es gibt vier Möglichkeiten, die Main
Prozedur zu deklarieren. Es kann Argumente annehmen oder nicht, und er kann einen Wert zurückgeben oder nicht.
Hinweis
Wenn Sie in einer Klasse deklarieren Main
, müssen Sie das Shared
Schlüsselwort verwenden. In einem Modul muss Main
nicht Shared
sein.
Die einfachste Möglichkeit besteht darin, eine
Sub
Prozedur zu deklarieren, die keine Argumente verwendet oder einen Wert zurückgibt.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
kann auch einenInteger
Wert zurückgeben, den das Betriebssystem als Ausgangscode für Ihr Programm verwendet. Andere Programme können diesen Code testen, indem der Windows ERRORLEVEL-Wert untersucht wird. Um einen Ausgangscode zurückzugeben, müssen SieMain
alsFunction
-Prozedur statt alsSub
-Prozedur deklarieren.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
kann auch einString
Array als Argument verwenden. Jede Zeichenfolge im Array enthält eines der Befehlszeilenargumente, die zum Aufrufen des Programms verwendet werden. Sie können je nach ihren Werten unterschiedliche Aktionen ausführen.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
Sie können
Main
deklarieren, um die Befehlszeilenargumente zu untersuchen, jedoch keinen Beendigungscode zurückgeben, wie folgt.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