Condividi tramite


Routine Main in Visual Basic

In ogni applicazione di Visual Basic deve essere presente una routine denominata Main. Questa routine funge da punto di partenza e controllo generale dell'applicazione In .NET Framework, la routine Main viene chiamata dopo che è stata caricata l'applicazione ed è possibile passarle il controllo. A meno che non si stia creando un'applicazione Windows Forms è necessario scrivere la routine Main per le applicazioni che sono in esecuzione.

Main contiene il codice che viene eseguito inizialmente. All'interno della routine Main è possibile determinare il form da caricare per primo all'avvio del programma, scoprire se una copia dell'applicazione è già in esecuzione, stabilire un insieme di variabili per l'applicazione o aprire un database necessario all'applicazione.

Requisiti per la routine Main

I file ad esecuzione automatica, generalmente con estensione .exe, devono contenere una routine Main. Le librerie, ad esempio con estensione .dll, non vengono eseguite automaticamente e non richiedono quindi la routine Main. I requisiti per i diversi tipi di progetti che è possibile creare sono i seguenti:

  • Le applicazioni console vengono eseguite automaticamente e richiedono almeno una routine Main. .

  • Le applicazioni Windows Forms vengono eseguite automaticamente. Tuttavia, in questo caso, la routine Main viene generata dal compilatore Visual Basic e non è quindi necessario scriverne una.

  • Le librerie di classi non richiedono la routine Main perché includono le librerie Windows Control e Web Control. Le applicazioni Web vengono distribuite come librerie di classi.

Dichiarazione della routine Main

Sono disponibili quattro metodi per dichiarare la routine Main. La routine può accettare o meno argomenti e restituire o meno un valore.

Nota

Se si dichiara la routine Main in una classe, sarà necessario utilizzare la parola chiave Shared.In un modulo Main non deve essere Shared.

  • Rappresenta il modo più semplice per dichiarare una routine Sub che non accetta argomenti e non restituisce alcun valore.

    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
    
  • È anche possibile che la routine Main restituisca un valore Integer, utilizzato dal sistema operativo come codice di uscita del programma. Il test di questo codice può essere eseguito da altri programmi mediante l'esame del valore ERRORLEVEL di Windows. Per restituire un codice di uscita è necessario dichiarare Main come routine Function anziché come routine Sub.

    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
    
  • La routine Main può inoltre utilizzare la matrice String come argomento. Ogni stringa della matrice contiene uno degli argomenti della riga di comando utilizzati per richiamare il programma. È possibile effettuare diverse operazioni in base ai loro valori.

    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 argNum
            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
    
  • È possibile dichiarare Main per esaminare gli argomenti della riga di comando senza restituire un codice di uscita, come nell'esempio seguente:

    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 argNum
            End If
            ' Insert call to appropriate starting place in your code.
            MsgBox("The application is terminating.")
        End Sub
    End Module
    

Vedere anche

Riferimenti

Struttura di un programma Visual Basic

/main

Shared (Visual Basic)

MsgBox

Istruzione Sub (Visual Basic)

Istruzione Function (Visual Basic)

Tipo di dati Integer (Visual Basic)

Tipo di dati String (Visual Basic)

Length

UBound

Altre risorse

Versione di Hello, World per Visual Basic