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
Istruzione Function (Visual Basic)
Tipo di dati Integer (Visual Basic)
Tipo di dati String (Visual Basic)