Fehler nach Option Strict On Anweisung

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    Fehler nach Option Strict On Anweisung

    Hallo Leute,

    als Neueinsteiger in VB.NET brauche ich eure Hilfe. Ich habe als Newbie ein Webbrowser programmiert(bzw. versucht zu programmieren). Alles lief wunderbar auch der Browser. Aber nach dem ich die unter Kompilieren Option Strict auf ON eingestellt hatte weist mein Quellcode 3 Fehler und ich weiss nicht wie ich sie beheben kann. Für Vorschläge bzw. Antworten wäre ich sehr Dankbar.

    Hier ist der Fehler: Die Signatur der Private Sub BrowserFertig()-Methode ist mit dem Delegaten "Delegate Sub WebBrowserDocumentCompletedEventHandler(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)" nicht kompatibel.

    Und Hier ist der Quellcode

    VB.NET-Quellcode

    1. Private Sub BrowserFertig()
    2. If Not AktiverBrowser.DocumentTitle.ToString = Nothing Then
    3. Me.TabControl1.SelectedTab.Text = AktiverBrowser.DocumentTitle
    4. Me.TextBox1.Text = AktiverBrowser.Url.ToString
    5. Dim ChronikPfad As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\UnsereAnwendung\"
    6. If FileIO.FileSystem.DirectoryExists(ChronikPfad) = False Then
    7. My.Computer.FileSystem.CreateDirectory(ChronikPfad)
    8. End If
    9. My.Computer.FileSystem.WriteAllText(ChronikPfad & "chronik.ini", AktiverBrowser.DocumentTitle & " | " & AktiverBrowser.Url.ToString & vbNewLine, True)
    10. End If
    11. End Sub
    12. Private Sub BrowserSeiteLaden()
    13. Me.TabControl1.SelectedTab.Text = "Laden..."
    14. End Sub
    15. Public Sub AddTab(ByVal name As String, ByVal url As String)
    16. Dim tab As TabPage = New TabPage(name)
    17. Dim wb As ExtendedWebBrowser = New ExtendedWebBrowser
    18. wb.Navigate(url)
    19. wb.Dock = DockStyle.Fill
    20. tab.Controls.Add(wb)
    21. AddHandler wb.DocumentCompleted, AddressOf BrowserFertig '<--1. Fehler
    22. AddHandler wb.Navigating, AddressOf BrowserSeiteLaden '<--2. Fehler
    23. AddHandler wb.PreviewKeyDown, AddressOf StrgTTastendruck
    24. AddHandler wb.NewWindowExtended, AddressOf NeuesFenster
    25. AddHandler wb.ProgressChanged, AddressOf ProgressChangedSub
    26. Me.TabControl1.TabPages.Add(tab)
    27. Me.TabControl1.SelectedTab = tab
    28. Me.TextBox1.Focus()
    29. End Sub

    Gruß

    loppo

    Edit by der_Kurt:
    Die Farbe ROT bitte nicht verwenden. Diese ist nur für Moderationshinweise.
    * VB-Tags eingefügt *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    VB.NET-Quellcode

    1. Private Sub BrowserSeiteLaden('Hier drinne fehlt die anweißung z.B Byval e as Eventhandler oder sowas)
    2. Me.TabControl1.SelectedTab.Text = "Laden..."
    3. End Sub


    Genau so wie bei Browser Fertig, am beste Mach mal einen Browser rein, und klick auf sein Event, und kopier das in den Klammern in deinen Sub
    nimm mal dies hier:
    Achte auf die Argumente ByVal sender As Object, ByVal e As EventArgs
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim AktiverBrowser As WebBrowser
    3. Private Sub BrowserFertig(ByVal sender As Object, ByVal e As EventArgs)
    4. If Not AktiverBrowser.DocumentTitle.ToString = Nothing Then
    5. Me.TabControl1.SelectedTab.Text = AktiverBrowser.DocumentTitle
    6. Me.TextBox1.Text = AktiverBrowser.Url.ToString
    7. Dim ChronikPfad As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\UnsereAnwendung\"
    8. If FileIO.FileSystem.DirectoryExists(ChronikPfad) = False Then
    9. My.Computer.FileSystem.CreateDirectory(ChronikPfad)
    10. End If
    11. My.Computer.FileSystem.WriteAllText(ChronikPfad & "chronik.ini", AktiverBrowser.DocumentTitle & " | " & AktiverBrowser.Url.ToString & vbNewLine, True)
    12. End If
    13. End Sub
    14. Private Sub BrowserSeiteLaden(ByVal sender As Object, ByVal e As EventArgs)
    15. Me.TabControl1.SelectedTab.Text = "Laden..."
    16. End Sub
    17. Public Sub AddTab(ByVal name As String, ByVal url As String)
    18. Dim tab As TabPage = New TabPage(name)
    19. Dim wb As ExtendedWebBrowser = New ExtendedWebBrowser
    20. wb.Navigate(url)
    21. wb.Dock = DockStyle.Fill
    22. tab.Controls.Add(wb)
    23. AddHandler wb.DocumentCompleted, AddressOf BrowserFertig '<--1. Fehler
    24. AddHandler wb.Navigating, AddressOf BrowserSeiteLaden '<--2. Fehler
    25. AddHandler wb.PreviewKeyDown, AddressOf StrgTTastendruck
    26. AddHandler wb.NewWindowExtended, AddressOf NeuesFenster
    27. AddHandler wb.ProgressChanged, AddressOf ProgressChangedSub
    28. Me.TabControl1.TabPages.Add(tab)
    29. Me.TabControl1.SelectedTab = tab
    30. Me.TextBox1.Focus()
    31. End Sub
    32. Private Sub StrgTTastendruck(ByVal sender As Object, ByVal e As EventArgs)
    33. End Sub
    34. Private Sub NeuesFenster(ByVal sender As Object, ByVal e As EventArgs)
    35. End Sub
    36. Private Sub ProgressChangedSub(ByVal sender As Object, ByVal e As EventArgs)
    37. End Sub
    38. End Class
    39. Friend Class ExtendedWebBrowser
    40. Inherits WebBrowser
    41. Public Event NewWindowExtended(ByVal sender As Object, ByVal e As EventArgs)
    42. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    loppo schrieb:

    Hier ist der Fehler: Die Signatur der Private Sub BrowserFertig()-Methode ist mit dem Delegaten "Delegate Sub WebBrowserDocumentCompletedEventHandler(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)" nicht kompatibel.

    Da steht doch praktisch schon, dass du die Klammern hinter dem BrowserFertig-Sub durch "(sender As Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)" ersetzen musst. o0
    Von meinem iPhone gesendet