Procédure Main dans Visual BasicMain Procedure in Visual Basic

Toutes les applications Visual Basic doivent contenir une procédure appelée Main.Every Visual Basic application must contain a procedure called Main. Cette procédure sert de point de départ et contrôle général pour votre application.This procedure serves as the starting point and overall control for your application. Le .NET Framework appelle votre Main procédure lorsqu’il a chargé votre application et est prêt à passer le contrôle.The .NET Framework calls your Main procedure when it has loaded your application and is ready to pass control to it. Sauf si vous créez une application Windows Forms, vous devez écrire le Main procédure pour les applications qui s’exécutent sur leurs propres.Unless you are creating a Windows Forms application, you must write the Main procedure for applications that run on their own.

Main contient le code qui s’exécute en premier.Main contains the code that runs first. Dans Main, vous pouvez déterminer quel formulaire doit d’abord être chargé au démarrage du programme, savoir si une copie de votre application est déjà en cours d’exécution sur le système, définir un ensemble de variables pour votre application ou ouvrir une base de données requise par l’application.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.

Configuration requise pour la procédure principaleRequirements for the Main Procedure

Un fichier qui s’exécute sur sa propre (généralement avec l’extension .exe) doit contenir un Main procédure.A file that runs on its own (usually with extension .exe) must contain a Main procedure. Une bibliothèque (par exemple avec l’extension .dll) ne s’exécute pas son propre et ne requiert pas un Main procédure.A library (for example with extension .dll) does not run on its own and does not require a Main procedure. La configuration requise pour les différents types de projets que vous pouvez créer est les suivantes :The requirements for the different types of projects you can create are as follows:

  • Applications console s’exécutent leurs propres, et vous devez fournir au moins un Main procédure.Console applications run on their own, and you must supply at least one Main procedure. ..

  • Applications Windows Forms s’exécutent sur leurs propres.Windows Forms applications run on their own. Toutefois, le compilateur Visual Basic génère automatiquement un Main procédure telle une application et que vous n’avez pas besoin d’écrire un.However, the Visual Basic compiler automatically generates a Main procedure in such an application, and you do not need to write one.

  • Bibliothèques de classes ne nécessitent pas une Main procédure.Class libraries do not require a Main procedure. Il s’agit notamment des bibliothèques de contrôles Windows et les bibliothèques de contrôles Web.These include Windows Control Libraries and Web Control Libraries. Les applications Web sont déployées en tant que bibliothèques de classes.Web applications are deployed as class libraries.

Déclaration de la procédure principaleDeclaring the Main Procedure

Il existe quatre méthodes pour déclarer le Main procédure.There are four ways to declare the Main procedure. Il peut accepter des arguments ou non, et elle peut retourner une valeur ou non.It can take arguments or not, and it can return a value or not.

Note

Si vous déclarez Main dans une classe, vous devez utiliser le Shared (mot clé).If you declare Main in a class, you must use the Shared keyword. Dans un module, Main n’est pas nécessaire de Shared.In a module, Main does not need to be Shared.

  • La façon la plus simple consiste à déclarer un Sub procédure qui n’a pas été acceptent des arguments ou une valeur de retour.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 peut également retourner un Integer valeur, que le système d’exploitation utilise comme code de sortie de votre programme.Main can also return an Integer value, which the operating system uses as the exit code for your program. Autres programmes peuvent tester ce code en examinant la valeur ERRORLEVEL Windows.Other programs can test this code by examining the Windows ERRORLEVEL value. Pour retourner un code de sortie, vous devez déclarer Main comme un Function procédure au lieu d’un Sub procédure.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 peut également prendre une String tableau en tant qu’argument.Main can also take a String array as an argument. Chaque chaîne dans le tableau contient un des arguments de ligne de commande utilisés pour appeler votre programme.Each string in the array contains one of the command-line arguments used to invoke your program. Vous pouvez effectuer des actions différentes en fonction de leurs valeurs.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 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  
    
  • Vous pouvez déclarer Main à examiner les arguments de ligne de commande, mais pas retourner un code de sortie, comme suit.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 argNum  
            End If  
            ' Insert call to appropriate starting place in your code.  
            MsgBox("The application is terminating.")  
        End Sub  
    End Module  
    

Voir aussiSee Also

MsgBox
Length
UBound
Structure d’un programme Visual BasicStructure of a Visual Basic Program
/main/main
SharedShared
Sub (instruction)Sub Statement
Function (instruction)Function Statement
Integer (type de données)Integer Data Type
String (type de données)String Data Type