Share via


Visual Basic'de Ana Yordam

Her Visual Basic uygulaması adlı Mainbir yordam içermelidir. Bu yordam, uygulamanız için başlangıç noktası ve genel denetim görevi görür. .NET Framework, uygulamanızı yüklediğinde ve denetimi uygulamaya geçirmeye hazır olduğunda yordamınızı Main çağırır. Windows Forms uygulaması oluşturmadığınız sürece, kendi başına çalışan uygulamalar için yordamı yazmanız Main gerekir.

Main önce çalışan kodu içerir. içinde Main, program başlatıldığında önce hangi formun yükleneceğini belirleyebilir, uygulamanızın bir kopyasının sistemde zaten çalışıp çalışmadığını öğrenebilir, uygulamanız için bir dizi değişken oluşturabilir veya uygulamanın gerektirdiği bir veritabanını açabilirsiniz.

Ana Yordam gereksinimleri

Kendi başına çalışan bir dosya (genellikle uzantı .exe) bir Main yordam içermelidir. Kitaplık (örneğin uzantı .dll) kendi başına çalışmaz ve bir Main yordam gerektirmez. Oluşturabileceğiniz farklı proje türlerinin gereksinimleri şunlardır:

  • Konsol uygulamaları kendi başına çalışır ve en az bir Main yordam sağlamanız gerekir.

  • Windows Forms uygulamaları kendi başına çalışır. Ancak, Visual Basic derleyicisi böyle bir uygulamada otomatik olarak bir Main yordam oluşturur ve yazmanız gerekmez.

  • Sınıf kitaplıkları bir Main yordam gerektirmez. Bunlar Windows Denetim Kitaplıkları ve Web Denetim Kitaplıkları'dır. Web uygulamaları sınıf kitaplıkları olarak dağıtılır.

Ana Yordamı Bildirme

Yordamı bildirmenin Main dört yolu vardır. Bağımsız değişkenleri alıp almayabilir ve bir değer döndürebilir veya döndüremez.

Not

Bir sınıfta bildirirseniz Main anahtar sözcüğünü Shared kullanmanız gerekir. Modülde olması MainSharedgerekmez.

  • En basit yol, bağımsız değişken almayan veya değer döndürmeyen bir Sub yordam bildirmektir.

    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 ayrıca işletim sisteminin programınız için çıkış kodu olarak kullandığı bir Integer değer döndürebilir. Diğer programlar, Windows ERRORLEVEL değerini inceleyerek bu kodu test edebilir. Çıkış kodu döndürmek için yordam yerine Sub yordam Function olarak bildirmeniz Main gerekir.

    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 bir diziyi String bağımsız değişken olarak da alabilir. Dizideki her dize, programınızı çağırmak için kullanılan komut satırı bağımsız değişkenlerinden birini içerir. Değerlerine bağlı olarak farklı eylemler gerçekleştirebilirsiniz.

    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
    
  • Komut satırı bağımsız değişkenlerini incelemek için bildirebilirsiniz Main , ancak aşağıdaki gibi bir çıkış kodu döndüremezsiniz.

    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
    

Ayrıca bkz.