Strict on - Typenkonvertierung in Verbindung mit AddressOf

  • VB.NET

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

    Strict on - Typenkonvertierung in Verbindung mit AddressOf

    Moin!

    ich versuche dem Ziel von Strict on wieder einen Schritt näher zu kommen und stoße dabei immer wieder an Meldungen die ich nicht weiß zu beheben ...

    Hier ein weiteres Beispiel:

    VB.NET-Quellcode

    1. AddHandler bt_GrundStkHist.Click, AddressOf Do_GrundStkHist


    Hierzu kommt die Meldung:


    Fehler BC36663 "Option Strict On" erlaubt keine Einschränkungen in impliziten Typkonvertierungen zwischen der Private Sub Do_GrundStkHist()-Methode und dem Delegaten "Delegate Sub EventHandler(sender As Object, e As EventArgs)". EBL.MapEdit_Dev


    Die Funktion auf die verwiesen wird sieht wie folgt aus:

    VB.NET-Quellcode

    1. Private Sub Do_GrundStkHist()
    2. Dim f As New DLG_HistorieOfGrundstück(Me.Application, CLng(Me.GenericForm.Key))
    3. With f
    4. .ShowDialog()
    5. End With
    6. End Sub


    Kann mir einer sagen was ich hier wie ändern müsste? Es wird zwar mit der Fehlermeldung ein Link angeboten - aber der führt zu einer nicht vorhandenen Seite.

    Gruß jan
    Fehlende Parameter.

    VB.NET-Quellcode

    1. Private Sub Do_GrundStkHist() ' <- Keine argumente gefordert.
    2. End Sub

    Also inkompatibel, gleiche Anzahl parameter vom passenden Typ gefordert. Es wird dir aber verratenwas zu tun ist.
    Delegate Sub EventHandler(sender As Object, e As EventArgs)

    VB.NET-Quellcode

    1. Private Sub Do_GrundStkHist(sender As Object, e As EventArgs)
    2. End Sub

    Eine Methode, die ein Event behandelt, heisst EventHandler.
    Event und EventHandler müssen zueinander passen. Guck in der Doku des Button.Click-Events nach, was für einen EventHandler es erwartet.

    Ups - sorry - du wolltest ja nicht den Sinn erklärt haben, sondern nur, was du hinschreiben musst:

    VB.NET-Quellcode

    1. Private Sub Do_GrundStkHist(sender As Object, e As EventArgs)
    2. Dim f As New DLG_HistorieOfGrundstück(Me.Application, CLng(Me.GenericForm.Key))
    3. With f
    4. .ShowDialog()
    5. End With
    6. End Sub