Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cada aplicativo Visual Basic deve conter um procedimento chamado Main. Este procedimento serve como ponto de partida e controle geral para sua aplicação. O .NET Framework chama seu Main procedimento quando ele carregou seu aplicativo e está pronto para passar o controle para ele. A menos que você esteja criando um aplicativo do Windows Forms, você deve escrever o Main procedimento para aplicativos que são executados por conta própria.
Main Contém o código que é executado primeiro. No Main, você pode determinar qual formulário deve ser carregado primeiro quando o programa for iniciado, descobrir se uma cópia do seu aplicativo já está em execução no sistema, estabelecer um conjunto de variáveis para seu aplicativo ou abrir um banco de dados que o aplicativo exige.
Requisitos para o procedimento principal
Um arquivo que é executado por conta própria (geralmente com extensão .exe) deve conter um Main procedimento. Uma biblioteca (por exemplo, com extensão .dll) não é executada sozinha e não requer um Main procedimento. Os requisitos para os diferentes tipos de projetos que você pode criar são os seguintes:
As aplicações de consola são executadas por conta própria e deves fornecer pelo menos um
Mainprocedimento.Os aplicativos do Windows Forms são executados por conta própria. No entanto, o compilador do Visual Basic gera automaticamente um
Mainprocedimento em tal aplicativo e você não precisa escrever um.As bibliotecas de classes não exigem um
Mainprocedimento. Estes incluem Bibliotecas de Controlo do Windows e Bibliotecas de Controlo Web. Os aplicativos Web são implantados como bibliotecas de classes.
Declarar o procedimento principal
Existem quatro formas de declarar o Main procedimento. Pode aceitar argumentos ou não, e pode retornar um valor ou não.
Observação
Se você declarar Main em uma classe, você deve usar a Shared palavra-chave. Em um módulo, Main não precisa ser Shared.
A maneira mais simples é declarar um
Subprocedimento que não aceita argumentos ou retorna um valor.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 ModuleMaintambém pode retornar umIntegervalor, que o sistema operacional usa como o código de saída para o seu programa. Outros programas podem testar esse código examinando o valor ERRORLEVEL do Windows. Para devolver um código de saída, deve declararMaincomo uma funçãoFunctionem vez de uma funçãoSub.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 ModuleMaintambém pode tomar umaStringmatriz como um argumento. Cada cadeia de caracteres na matriz contém um dos argumentos de linha de comando usados para invocar o programa. Você pode tomar diferentes ações dependendo de seus valores.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 ModuleVocê pode declarar
Mainpara examinar os argumentos de linha de comando, mas não retornar um código de saída, da seguinte maneira.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