Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Minden Visual Basic-alkalmazásnak tartalmaznia kell egy úgynevezett Maineljárást. Ez az eljárás az alkalmazás kiindulópontjaként és általános vezérléseként szolgál. A .NET-keretrendszer meghívja az Main eljárást, amikor betöltötte az alkalmazást, és készen áll az irányítás átadására. Hacsak nem hoz létre Windows Forms-alkalmazást, meg kell írnia a(z) Main eljárást saját magukban futó alkalmazások számára.
Main az elsőként futó kódot tartalmazza. Ebben a lépésben Mainmeghatározhatja, hogy melyik űrlapot kell először betölteni a program indításakor, megállapíthatja, hogy az alkalmazás egy példánya már fut-e a rendszeren, létrehoz egy változókészletet az alkalmazáshoz, vagy megnyithat egy adatbázist, amelyet az alkalmazás igényel.
A fő eljárás követelményei
Egy önállóan futó fájlnak (általában .exekiterjesztéssel) tartalmaznia kell egy Main eljárást. A kódtárak (például .dllkiterjesztéssel) nem futnak önállóan, és nem igényelnek Main eljárást. A létrehozható különböző típusú projektek követelményei a következők:
A konzolalkalmazások önállóan futnak, és legalább egy
Maineljárást be kell állítania.A Windows Forms-alkalmazások önállóan futnak. A Visual Basic fordító azonban automatikusan létrehoz egy eljárást egy
Mainilyen alkalmazásban, és nem kell írnia egyet.Nincs szükség
Maineljárásra az osztálykönyvtárakban. Ezek közé tartoznak a Windows-vezérlőtárak és a webvezérlőtárak. A webalkalmazások osztálykódtárként vannak üzembe helyezve.
A fő eljárás deklarálása
Az eljárást négyféleképpen deklarálhatja Main . Argumentumokat vehet fel vagy sem, és visszaadhat egy értéket vagy sem.
Megjegyzés:
Ha egy osztályban deklarál Main, használnia kell a Shared kulcsszót. Egy modulban Main nem lennie kell Shared.
A legegyszerűbb módszer egy
Subolyan eljárás deklarálása, amely nem fogad el argumentumokat, és nem ad vissza értéket.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 ModuleMainolyan értéket is visszaadhatInteger, amelyet az operációs rendszer a program kilépési kódjaként használ. Más programok a Windows ERRORLEVEL értékének vizsgálatával tesztelhetik ezt a kódot. A kilépési kód visszaadásáhozMain-tFunctioneljárásként kell deklarálnia, nem pedigSubeljárásként.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 ModuleMainargumentumként is használhat tömbötString. A tömb minden sztringje tartalmazza a program meghívásához használt parancssori argumentumok egyikét. Az értékektől függően különböző műveleteket hajthat végre.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 ModuleDeklarálhatja
Main, hogy megvizsgálja a parancssori argumentumokat, de nem ad vissza kilépési kódot az alábbiak szerint.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