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

C# Discussion :

Attention à la mise à jour


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 444
    Points : 2 777
    Points
    2 777
    Par défaut Attention à la mise à jour
    Bonjour tout le monde,

    Quelquefois, on voit venir une nouvelle version, et on se dit qu'elle va apporter de nouvelles fonctionnalités, mais que ce qui est en place va continuer à fonctionner.

    Méf.
    La version 17.6.5 de Visual Studio 2022 Community Edition est beaucoup plus regardante que la précédente, quant au cas où on a une procédure événementielle avec un paramètre qui s'appelle Sender, alors que c'était déjà le cas de la précédente. Surtout qu'on n'appelle jamais le premier paramètre Sender, n'est-ce pas ?
    Le même problème peut se poser avec e, en deuxième argument. Ah mais ça il est vrai que ça me rappelle plus ou moins des choses.

    On peut aussi se retrouver, avec ceci dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            void dataGridView1_RowLeave(object senderdataGrid, DataGridViewCellEventArgs dgvce)
            {
                btnSave_Click(this, new EventArgs());
            }
    avec un message du compilateur disant que dataGridView1_RowLeave n'existe pas.

    Alors, il faut le déplacer vers le haut du module, et là c'est reconnu.

    Et quelques petites bricoles comme ça, qui font que quelques petites vis peuvent devoir être resserrées dans les applications.

    Je suppose que c'est seulement à la compilation ?

    J'ai dû installer cette mise à jour rapidement, car je me suis retrouvé avec un projet tout-à-coup invalide, et un numéro d'erreur qui est censé n'exister qu'avec Adobe Flash Reader. Un truc tout neuf, quoi.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 227
    Points : 28 226
    Points
    28 226
    Par défaut
    Plutôt étrange qu'une mise à jour opère de la sorte, surtout que je ne vois rien dans la release note qui semble concerner ce point.

    Tu dis qu'il ne faut pas de paramètre qui s'appelle Sender, mais ton paramètre s'appelle senderdataGrid, pas Sender !

    Tu dis que pour résoudre le problème "il faut le déplacer vers le haut du module". Même si je crois comprendre ce que tu veux dire, du coup quel rapport avec le nom du paramètre qui s’appellerait Sender ?

    Et plutôt que de "le déplacer vers le haut du module", n'aurait-il pas suffit de renommer le paramètre en cause ?

    N'est-ce pas plutôt ton VS qui s'est mélangé les pinceaux à la compil comme ça lui arrive relativement souvent. Peut-être qu'en faisant un Rebuild plutôt qu'un simple Build, voire un Clean & Rebuild, cela aurait résolu ton problème sans même changer un quelconque bout de code ?

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 444
    Points : 2 777
    Points
    2 777
    Par défaut
    Ah mais je n'ai pas affirmé que la mise à jour n'avait opéré qu'une seule modification

    Je ne crois pas en effet qu'il y ait de rapport entre les deux.

    Et effectivement, il reste des procédures événementielles avec le premier paramètre qui s'appelle sender.

    Mais j'ai quand même dû en renommer quatre ou cinq pour que ça compile.

    J'avais une application à mettre à jour vite fait, j'avoue que je n'ai pas trop vu de critères à examiner qui ferait que ces procédures-là ne devaient pas avoir de paramètres du même nom, alors que les autres peuvent.

    Je me suis contenté de parcourir la fenêtre des erreurs, et là où on me disait ah non, ça, on ne peut pas l'appeler comme ça, je l'ai renommé.

    Par chance en une dizaine de minutes c'était fait.

    Quand j'ai vu la procédure censée ne pas exister ça m'a un peu fait peur, j'ai eu ce genre de chose un jour pour toutes les procédures d'un module, j'ai probablement dû effacer accidentellement une accolade, et ... à tâtons ce n'est pas la meilleure démarche, dans ce cas.

    Quand j'ai vu l'interface graphique réapparaître j'ai poussé un ouf.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/10/2018, 12h47
  2. [XL-2007] Comment faire un message d'attente durant la mise à jour de ma macro ?
    Par Debutant10 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/05/2012, 21h34
  3. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  4. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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