Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każda aplikacja języka Visual Basic musi zawierać procedurę o nazwie Main. Ta procedura służy jako punkt początkowy i ogólna kontrola aplikacji. .NET Framework wywołuje procedurę Main po załadowaniu aplikacji, gdy jest gotowy do przekazania jej kontroli. Jeśli nie tworzysz aplikacji Windows Forms, musisz napisać Main procedurę dla aplikacji uruchamianych samodzielnie.
Main zawiera kod, który jest uruchamiany jako pierwszy. W Mainprogramie można określić, który formularz ma zostać załadowany jako pierwszy po uruchomieniu programu, sprawdzić, czy kopia aplikacji jest już uruchomiona w systemie, ustanowić zestaw zmiennych dla aplikacji lub otworzyć bazę danych wymaganą przez aplikację.
Wymagania dotyczące procedury głównej
Plik uruchamiany samodzielnie (zwykle z rozszerzeniem .exe) musi zawierać procedurę Main . Biblioteka (na przykład z rozszerzeniem .dll) nie jest uruchamiana samodzielnie i nie wymaga Main procedury. Wymagania dotyczące różnych typów projektów, które można utworzyć, są następujące:
Aplikacje konsolowe działają samodzielnie i należy podać co najmniej jedną
Mainprocedurę.Aplikacje Windows Forms działają samodzielnie. Jednak kompilator języka Visual Basic automatycznie generuje procedurę
Mainw takiej aplikacji i nie trzeba jej pisać.Biblioteki klas nie wymagają
Mainprocedury. Należą do nich biblioteki kontrolek systemu Windows i biblioteki kontrolek sieci Web. Aplikacje internetowe są wdrażane jako biblioteki klas.
Deklarowanie procedury głównej
Istnieją cztery sposoby deklarowania Main procedury. Może przyjmować argumenty lub nie, i może zwracać wartość lub nie.
Uwaga / Notatka
W przypadku deklarowania Main w klasie należy użyć słowa kluczowego Shared . W module Main nie musi być Shared.
Najprostszym sposobem jest zadeklarowanie
Subprocedury, która nie bierze argumentów ani zwraca wartości.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 ModuleMainmoże również zwrócić wartośćInteger, której system operacyjny używa jako kod zakończenia programu. Inne programy mogą przetestować ten kod, sprawdzając wartość ERRORLEVEL systemu Windows. Aby zwrócić kod zakończenia, należy zadeklarowaćMainjako proceduręFunctionzamiastSubprocedury.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 ModuleMainmoże również przyjąć tablicęStringjako argument. Każdy ciąg w tablicy zawiera jeden z argumentów wiersza polecenia używanych do wywoływania programu. W zależności od ich wartości można wykonywać różne akcje.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 ModuleMożesz zadeklarować
Main, aby w następujący sposób zbadać argumenty wiersza polecenia, ale nie zwrócić kodu wyjścia.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