Hlavní procedura v jazyce Visual Basic
Každá Visual Basic aplikace musí obsahovat proceduru s názvem Main . Tento postup slouží jako výchozí bod a celková kontrola nad aplikací. Aplikace .NET Framework proceduru, jakmile načte vaši aplikaci, a je připravena předat do ní Main řízení. Pokud nevytváříte Windows Forms, musíte napsat proceduru pro aplikace, Main které běží samostatně.
Main obsahuje kód, který se spustí jako první. V nástroji můžete určit, který formulář se má načíst jako první při spuštění programu, zjistit, jestli je v systému už spuštěná kopie aplikace, vytvořit sadu proměnných pro vaši aplikaci nebo otevřít databázi, kterou Main aplikace vyžaduje.
Požadavky pro hlavní proceduru
Soubor, který běží samostatně (obvykle s příponou .exe), musí obsahovat Main proceduru. Knihovna (například s rozšířením .dll) se nespouštěla samostatně a nevyžaduje Main proceduru. Požadavky na různé typy projektů, které můžete vytvořit, jsou následující:
Konzolové aplikace se spouštějí samostatně a musíte zadat alespoň jeden
Mainpostup.Windows Aplikace formulářů se spouštějí samostatně. Kompilátor Visual Basic v takové aplikaci automaticky vygeneruje proceduru a není nutné ji
Mainpsát.Knihovny tříd nevyžadují
Mainproceduru. Patří sem Windows ovládacích panelů a knihovny webových ovládacích panelů. Webové aplikace se nasadí jako knihovny tříd.
Deklarování hlavní procedury
Existují čtyři způsoby deklarace Main procedury. Může přijmout argumenty nebo ne a může vracet hodnotu nebo ne.
Poznámka
Pokud Main deklarujete ve třídě , musíte použít klíčové Shared slovo . V modulu Main nemusí být Shared .
Nejjednodušším způsobem je deklarovat
Subproceduru, která nepřevezme argumenty nebo nevrátí hodnotu.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 ModuleMainmůže také vrátitIntegerhodnotu, kterou operační systém používá jako ukončovací kód programu. Ostatní programy mohou tento kód otestovat prozkoumáním Windows ERRORLEVEL. Pokud chcete vrátit ukončovací kód, musíte místo proceduryMainFunctiondeklarovat jakoSubproceduru.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 ModuleMainmůže také převzítStringpole jako argument. Každý řetězec v poli obsahuje jeden z argumentů příkazového řádku, které se používají k vyvolání programu. V závislosti na jejich hodnotách můžete provádět různé akce.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 ModuleMůžete
Maindeklarovat, že chcete prozkoumat argumenty příkazového řádku, ale nevrací ukončovací kód, jak je vidět níže.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