Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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á vaši proceduru Main, když načte vaši aplikaci a je připravená předat řízení. Pokud nevytvoříte aplikaci Windows Forms, musíte napsat Main postup pro aplikace, které běží samostatně.
Main obsahuje kód, který se spouští jako první. V Mainaplikaci 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 příponou .dll) se nespustí samostatně a nevyžaduje Main proceduru. 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
Mainpostup.Aplikace Windows Forms běží samostatně. Kompilátor jazyka Visual Basic však automaticky vygeneruje proceduru
Mainv 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 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 hodnoty WINDOWS ERRORLEVEL. Chcete-li vrátit ukončovací kód, musíte deklarovatMainjako proceduruFunctionmísto procedurySub.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 ModuleJako argument lze také použít pole
MainString. 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 ModuleMůžete deklarovat
Main, abyste prozkoumali argumenty příkazového řádku, ale nevraceli výstupní kód takto.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