Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ogni applicazione Visual Basic deve contenere una routine denominata Main. Questa procedura funge da punto di partenza e controllo complessivo per l'applicazione. Il .NET Framework chiama la procedura Main quando ha caricato l'applicazione ed è pronto a passarle il controllo. A meno che non si stia creando un'applicazione Windows Form, è necessario scrivere la Main procedura per le applicazioni eseguite autonomamente.
Main contiene il codice che viene eseguito per primo. In Mainè possibile determinare quale modulo deve essere caricato per primo all'avvio del programma, verificare se una copia dell'applicazione è già in esecuzione nel sistema, stabilire un set di variabili per l'applicazione o aprire un database richiesto dall'applicazione.
Requisiti per la procedura principale
Un file eseguito autonomamente (in genere con estensione .exe) deve contenere una Main routine. Una libreria ,ad esempio con estensione .dll) non viene eseguita autonomamente e non richiede una Main routine. I requisiti per i diversi tipi di progetti che è possibile creare sono i seguenti:
Le applicazioni console vengono eseguite autonomamente ed è necessario specificare almeno una
Mainprocedura.Le applicazioni Windows Form vengono eseguite autonomamente. Tuttavia, il compilatore Visual Basic genera automaticamente una
Mainroutine in tale applicazione e non è necessario scriverne una.Le librerie di classi non richiedono la
Mainprocedura. Tra cui librerie di controlli Windows e librerie di controlli Web. Le applicazioni Web vengono distribuite come librerie di classi.
Dichiarazione della procedura principale
Esistono quattro modi per dichiarare la Main procedura. Può accettare o meno argomenti e può restituire o meno un valore.
Annotazioni
Se si dichiara Main in una classe, è necessario usare la Shared parola chiave . In un modulo, Main non necessita di Shared.
Il modo più semplice consiste nel dichiarare una
Subroutine che non accetta argomenti o restituisce un 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 ModuleMainpuò anche restituire unIntegervalore, che il sistema operativo usa come codice di uscita per il programma. Altri programmi possono testare questo codice esaminando il valore ERRORLEVEL di Windows. Per restituire un codice di uscita, è necessario dichiarareMaincome unaFunctionroutine anziché unaSubroutine.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 ModuleMainpuò anche accettare unaStringmatrice come argomento. Ogni stringa nella matrice contiene uno degli argomenti della riga di comando usati per richiamare il programma. È possibile eseguire azioni diverse a seconda dei relativi 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 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
Maindi esaminare gli argomenti della riga di comando, ma non restituire un codice di uscita, come indicato di seguito.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