IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Cours pour comprendre "Because they do not have a compatible signature."


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut Cours pour comprendre "Because they do not have a compatible signature."
    Bonjour,

    Je rencontre encore cette erreur
    Because they do not have a compatible signature.
    Et je ne sais toujours pas la gérer.

    Est ce que vous pouvez m'indiquez un lien vers un cours (J'ai cherché dans celui de Ph.Lasserre, mais sans succs) qui serait assez clair pour que je puisse comprendre ceci une bonne fois pour toute.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    c'est parce que tu mets des pommes avec des poires

  3. #3
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Exactement, le cas produit quand la méthode attend un entier et que tu passes un string par exemple ou qu'elle a trois paramètres et que tu n'en passes que deux.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est quand tu essaies de t'abonner à un évènement avec une méthode qui n'a pas les bons types de paramètres et/ou type de retour.

    Par exemple, l'évènement Click en Windows Forms est défini comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Event Click As EventHandler
    Et le delegate EventHandler, qui définit la signature de l'évènement, est défini comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Delegate Sub EventHandler (sender As Object, e As EventArgs)
    Il faut donc que ta méthode qui gère l'évènement ait la même forme, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button1_Click(sender As Object, e As EventArgs)
        ...
    End Sub
    Tu ne peux pas ajouter de paramètres à cette méthode ou changer leur type, sinon ça ne correspond plus à la définition de l'évènement

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    J'ai bien compris que je tentais un truc incompatible, ce que je voudrais c'est apprendre à les rendres compatibles.

    Si cette methode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub PlotTireButton_Click(ByVal tire_LF As TireClass, ByVal tire_RF As TireClass, ByVal tire_LR As TireClass, ByVal tire_RR As TireClass)
    Si je lui met handles button.click j'ai l'erreur.

    Si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub PlotTireButton_Click(ByVal sender As Object, ByVal e As System.EventArgs, ByVal tire_LF As TireClass, ByVal tire_RF As TireClass, ByVal tire_LR As TireClass, ByVal tire_RR As TireClass) Handles PlotTireButton.Click
    J'ai aussi une erreur.

    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub PlotTireButton_Click() Handles PlotTireButton.Click
            Call PlotAero_button_Click()
        End Sub
     
        Private Sub PlotTireButton_Click(ByVal tire_LF As TireClass, ByVal tire_RF As TireClass, ByVal tire_LR As TireClass, ByVal tire_RR As TireClass)
    Call PlotAero_button_Click() me reclame sender as object et e as system.EventArgs....

    Je suppose que sender est le bouton, mais e....comment saurais-je?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Gualino Voir le message
    J'ai bien compris que je tentais un truc incompatible, ce que je voudrais c'est apprendre à les rendres compatibles.
    Bah tu peux pas... l'évènement est prédéfini, tu peux pas le modifier. Vu que c'est pas toi qui appelles explicitement la méthode PlotTireButton_Click, comment est-ce que VB saurait quelles valeurs il faut lui passer pour les paramètres tire_LF, tire_RF etc ?

    Quel est le but de ce que tu essaies de faire au juste ?

    Citation Envoyé par Gualino Voir le message
    Je suppose que sender est le bouton, mais e....comment saurais-je?
    sender est le contrôle qui déclenche l'évènement, donc effectivement c'est le bouton en l'occurrence. e représente les données associées à l'évènement, mais pour l'évènement Click il n'y a pas de données associées, donc en fait ça ne sert pas à grand chose (le paramètre existe simplement pour rester cohérent avec le pattern général des évènements)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conseil livre pour comprendre scripts
    Par Filippo dans le forum Linux
    Réponses: 9
    Dernier message: 13/10/2005, 10h36
  2. Réponses: 4
    Dernier message: 28/07/2005, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo