Hlavní procedura v jazyce Visual BasicMain Procedure in Visual Basic

Každá aplikace Visual Basic musí obsahovat proceduru nazvanou Main.Every Visual Basic application must contain a procedure called Main. Tato procedura slouží jako výchozí bod a celkový ovládací prvek pro vaši aplikaci.This procedure serves as the starting point and overall control for your application. .NET Framework volá váš Main postup, když načte vaši aplikaci a je připravena k předání řízení.The .NET Framework calls your Main procedure when it has loaded your application and is ready to pass control to it. Pokud nevytváříte aplikaci model Windows Forms, je nutné napsat Main postup pro aplikace, které se spouštějí sami.Unless you are creating a Windows Forms application, you must write the Main procedure for applications that run on their own.

Main obsahuje kód, který se spouští jako první.Main contains the code that runs first. V Mainmůžete určit, který formulář se má načíst jako první, když se program spustí, zjistit, jestli je už kopie vaší aplikace spuštěná v systému, vytvořit sadu proměnných pro vaši aplikaci nebo otevřít databázi, kterou aplikace vyžaduje.In Main, you can determine which form is to be loaded first when the program starts, find out if a copy of your application is already running on the system, establish a set of variables for your application, or open a database that the application requires.

Požadavky na hlavní postupRequirements for the Main Procedure

Soubor, který se spouští sám (obvykle s příponou. exe), musí obsahovat Main postup.A file that runs on its own (usually with extension .exe) must contain a Main procedure. Knihovnu (například s příponou. dll) neběží sama na sobě a nevyžaduje Main postup.A library (for example with extension .dll) does not run on its own and does not require a Main procedure. Požadavky pro různé typy projektů, které můžete vytvořit, jsou následující:The requirements for the different types of projects you can create are as follows:

  • Konzolové aplikace běží samy na sobě a Vy musíte dodat aspoň jeden Main postup.Console applications run on their own, and you must supply at least one Main procedure.

  • Model Windows Forms aplikace se spouštějí sami.Windows Forms applications run on their own. Kompilátor Visual Basic však v takové aplikaci automaticky vygeneruje Main proceduru a není nutné ji psát.However, the Visual Basic compiler automatically generates a Main procedure in such an application, and you do not need to write one.

  • Knihovny tříd nevyžadují Main proceduru.Class libraries do not require a Main procedure. Mezi ně patří knihovny ovládacích prvků systému Windows a knihovny webového ovládacího prvku.These include Windows Control Libraries and Web Control Libraries. Webové aplikace jsou nasazeny jako knihovny tříd.Web applications are deployed as class libraries.

Deklarace hlavní proceduryDeclaring the Main Procedure

Existují čtyři způsoby, jak deklarovat Main proceduru.There are four ways to declare the Main procedure. Může přijmout argumenty nebo ne a může vrátit hodnotu nebo ne.It can take arguments or not, and it can return a value or not.

Poznámka

Pokud deklarujete Main ve třídě, je nutné použít klíčové slovo Shared.If you declare Main in a class, you must use the Shared keyword. V modulu není Main nutné Shared.In a module, Main does not need to be Shared.

  • Nejjednodušší způsob je deklarovat Sub proceduru, která nepřijímá argumenty nebo vrací hodnotu.The simplest way is to declare a Sub procedure that does not take arguments or return a value.

    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é vracet Integer hodnotu, kterou operační systém používá jako ukončovací kód pro váš program.Main can also return an Integer value, which the operating system uses as the exit code for your program. Další programy můžou tento kód otestovat prozkoumáním hodnoty ERRORLEVEL systému Windows.Other programs can test this code by examining the Windows ERRORLEVEL value. Chcete-li vrátit ukončovací kód, je nutné deklarovat Main jako Function procedura namísto Sub procedury.To return an exit code, you must declare Main as a Function procedure instead of a Sub procedure.

    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 může také přebírat pole String jako argument.Main can also take a String array as an argument. Každý řetězec v poli obsahuje jeden z argumentů příkazového řádku, který se používá k vyvolání programu.Each string in the array contains one of the command-line arguments used to invoke your program. V závislosti na jejich hodnotách můžete provádět různé akce.You can take different actions depending on their values.

    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 pro prohlédnutí argumentů příkazového řádku, ale nevrátí ukončovací kód, a to následujícím způsobem.You can declare Main to examine the command-line arguments but not return an exit code, as follows.

    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
    

Viz také:See also