Hlavní procedura v jazyce Visual Basic
Každá aplikace jazyka Visual Basic musí obsahovat proceduru s názvem Main
. Tento postup slouží jako výchozí bod a celkové řízení vaší aplikace. Rozhraní .NET Framework volá proceduru Main
, když načetla vaši aplikaci a je připravená k předání řízení. Pokud nevytvoříte model Windows Forms aplikaci, musíte napsat Main
postup pro aplikace, které běží samostatně.
Main
obsahuje kód, který se spouští jako první. V Main
aplikaci můžete určit, který formulář se má načíst při spuštění programu, zjistit, jestli už v systému běží kopie aplikace, vytvořit sadu proměnných pro vaši aplikaci nebo otevřít databázi, kterou aplikace vyžaduje.
Požadavky na hlavní postup
Soubor, který běží samostatně (obvykle s příponou .exe), musí obsahovat proceduru Main
. Knihovna (například s rozšířením .dll) se nespustí samostatně a nevyžaduje Main
postup. Požadavky pro různé typy projektů, které můžete vytvořit, jsou následující:
Konzolové aplikace běží samostatně a musíte zadat alespoň jeden
Main
postup.model Windows Forms aplikace běží samostatně. Kompilátor jazyka Visual Basic však automaticky vygeneruje proceduru
Main
v takové aplikaci a není nutné ji napsat.Knihovny tříd nevyžadují proceduru
Main
. Patří mezi ně knihovny ovládacích prvků Systému Windows a knihovny webových ovládacích prvků. Webové aplikace se nasazují jako knihovny tříd.
Deklarace hlavní procedury
Existují čtyři způsoby, jak proceduru Main
deklarovat. Může přijímat argumenty nebo ne a může vrátit hodnotu, nebo ne.
Poznámka:
Pokud deklarujete Main
v třídě, musíte použít Shared
klíčové slovo. V modulu Main
nemusí být Shared
.
Nejjednodušší způsob je deklarovat proceduru
Sub
, která nepřebírají argumenty ani nevrací 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 Module
Main
může také vrátitInteger
hodnotu, kterou operační systém používá jako ukončovací kód programu. Ostatní programy mohou tento kód otestovat prozkoumáním hodnoty WINDOWS ERRORLEVEL. Chcete-li vrátit ukončovací kód, musíte místo procedury deklarovatMain
jakoFunction
proceduruSub
.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
maticiString
lze také použít jako argument. Každý řetězec v poli obsahuje jeden z argumentů příkazového řádku, které slouží 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 Module
Můžete deklarovat
Main
, že chcete prozkoumat argumenty příkazového řádku, ale nevrací ukončovací kód následujícím způsobem.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