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

Visual Studio Discussion :

Problème Designer VS2015 community


Sujet :

Visual Studio

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut Problème Designer VS2015 community
    Bonjour,

    j'ai un formulaire qui comporte différents éléments donc un TabPage ou chaque onglets contient un userform qui lui meme en contient plusieurs.

    après quelques jours de travail dessus avec du traitement derrière qui me fait me connecter sur une BDD, le designer ne s'affiche plus correctement, il essaye d'éxécuter le code qui se cache derrière, et vu que sur mon poste la bdd est pas présente il retourne mes exceptions qui sont gérer dans le code (donc pourquoi le designer les execute ?)

    je ne comprends pas la logique, si vous pouviez m'éclairer ça serait gentil

  2. #2
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Points : 268
    Points
    268
    Par défaut
    Bonjour mon cher,
    Sans toute fois avoir vu les exceptions générées par le designer, je dirai que j'ai une fois eu un cas pareil et la lecon que j'en avais tiré est qu'il existe un fichier de code généré par le designer et mis à jour automatiquement à l'ajout de nouveaux objets. Par contre ce fichier n'est pas mis à jour automatiquement à la suppression de certains objets notamment dans le dataset. ce qui pourrait expliquer cette exception.

    Et si tel n'est pas le cas avec toi tu pourrais nous faire voir ton exception .

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    en fait mon exception c'est que je vais dans le designer j'ai une fenetre qui s'ouvre avec l'exception "nombre d'argument invalide" qui est dans mon code (vu que je lance le programme en ligne de commande)

    donc pas une exception de visual studio

    voila le message qui remplace mon TabPage :

    System.Exception: Nombre d'arguments invalide !
    a Article_GP.MenuTab.Menu_load(Object sender, EventArgs e) dans "mon chemin"
    je vous épargne le reste car ca ne sert a rien !

    donc c'est bien mon code qui est executé et je ne pensais pas qu'il serait éxécuté dans le designer....

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Le designer execute le constructeur de ton userControl, donc c'est ce constructeur qui génère une exception, par exemple parce que quelque chose n'est pas initialisé ou alors tu considères être connecté à ta bdd alors que non ....
    Commente tous ce que tu as dans ton constructeur sauf le InitializeComponent() et normalement tu n'auras plus l'exception.

    Bon code,
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    ou est ce que je vois le contructeur en vb ?

    je découvre en meme temps le vb....

    actuellement je met mon code dans l'event load de mes controls

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Arff je suis plus c# moi
    Et maintenant que j'y repense je n'ai compris où sont les constructeurs des usercontrol en VB.net ... désolé

    Cela dit le problème est quand même là, du code que tu as écris est exécuté par le designer, essaye de le retrouver et commente le, si tu n'as plus l'exception alors trouve un test à faire pour savoir si tu est connecté, ou si tous est bien initialisé.. à toi de voir.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    bah vu que j'ai mis un try catch pour la connexion de la bdd....

    c'est justement cette exception la que le designer me renvoie....

    j'aurais tellement préféré faire le programme en c# que je maitrise beaucoup plus...

  8. #8
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Points : 268
    Points
    268
    Par défaut
    chaque usercontrol a un fichier designer.vb dans l'explorateur de solution et c'est là où tu le trouveras.

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    d'accord !

    du coup je n'ai mis aucun code la dedans.

    c'était tout générer a partir du designer.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par Prisson Voir le message
    chaque usercontrol a un fichier designer.vb dans l'explorateur de solution et c'est là où tu le trouveras.
    Je suis pas sur mais il ne me semble pas que ce soit ça.
    Dans le designer.vb tu as le InitializeComponent() (qu'il ne faut surtout pas modifier sauf si on sait vraiment ce qu'on fait) qui lui est généré pas le designer au moment du designe, et cette méthode est appelé, normalement, par le contructeur de la form, en c# de base c'est comme ça.
    Sauf que en vb.net, de base, il n'y a pas de constructeur, c'est ça que je ne comprends pas, mais par exemple, si tu écris dans une form ou un userControl =>
    et que tu fais "Enter" alors VS te génèrera

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
     
    End Sub
    et donc là on retombe sur la logique du C#.

    Par contre j'ai testé et mon histoire de constructeur exécuté ne semble finalement pas être juste, mais c'est étrange car j'ai quelques fois ce problème et j'en avais conclu que le constructeur était exécuté , je corrigeais donc le problème par un test dans le constructeur .... bref je me rends compte que je ne suis pas super renseigné à ce niveau.

    M'enfin tu dis que l'exception que tu obtiens est une de tes exceptions, tu devrais pouvoir le retrouver et donc pouvoir faire un test avant ....

    J'espère ne pas ne pas avoir rendu les choses plus floues qu'elles ne l'étaient avant
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    merci jackhorror pour ton explication mais je ne suis pas sur de tout comprendre.

    je vous donne mon code qui semble s'exécuter dans le designer, pour ètre que ça vous aidera a mieux comprendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub MenuTab_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            If System.Environment.GetCommandLineArgs.Length <> 2 Then
                Throw New Exception("Nombre d'arguments invalide !")
            Else
                argArticle = Environment.GetCommandLineArgs.GetValue(1)
            End If
    voila ce qui semble s'exécuter, je vous met pas le reste car c'est que de l'initialisation des différents textbox

  12. #12
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Points : 268
    Points
    268
    Par défaut
    Bonjour,
    A ta place j'essayerai un code pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Try
     
                    argArticle = Environment.GetCommandLineArgs.GetValue(1)
     
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
    qui a l'avantage de me renseigner sur l'exception et me permettre de la corriger.

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    au final ça ne change rien

    toujours le meme problème, dans le designer j'ai quand meme l'exception qui est levé (le texte change c'est vrai mais bon)

  14. #14
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Points : 268
    Points
    268
    Par défaut
    Est ce que le texte ne te renseigne pas mieux sur la nature de l'exception ?

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    nombre d'argument invalide !

    donc non ça ne change rien du tout.

    le seul truc qui change c'est que j'ai des messagebox qui s'ouvre quand je lance le designer

  16. #16
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    je pense avoir trouvé

    Test ça =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Me.DesignMode = False Then
    If System.Environment.GetCommandLineArgs.Length <> 2 Then
                Throw New Exception("Nombre d'arguments invalide !")
            Else
                argArticle = Environment.GetCommandLineArgs.GetValue(1)
            End If
    End If
    Me.DesignMode retourne True ou False suivant si on est en DesignTime ou Runtime.
    Je suis pas adepte du VB.net donc hésite a modifier si c'est pas beau, mais l'idée est là.


    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  17. #17
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    merci ça résoud mon problème.

    Par contre pourquoi ai-je besoin de ça ? a moins que l'évent load est l'équivalent du constructeur, ce qui serait supprenant étant donné que c'est un event....

  18. #18
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Oui je suis d'accord avec toi, ce qui t'arrive est étrange (enfin tant qu'on aura pas l'explication )

    Mais comme je te l'ai dit, je rencontre assez régulièrement ce problème, ou en tout quelque chose de très ressemblant. Dans mon cas ça se passe dans le constructeur, mais je suis en C# ...
    La prochaine fois que je tombe sur le pb je chercherais un peu plus l'explication puis que ma théorie du constructeur n'est pas valide pour les tests que j'ai fait hier, je chercherais un peu plus en profondeur et si je trouve quelque choses je mettrais l'info dans ce topic !

    En tout cas content que ton problème soit résolut.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  19. #19
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    encore un mystère de l'informatique tout ca !

    je vais aussi faire des tests pour voir de quoi ça vient

  20. #20
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Le designer instancie ton Control, il y a donc tous les events associés qui fonctionnent.
    Tu dois pouvoir tester avec l’event de resize par exemple, si tu redimensionne dans le designer ton event va se déclencher. Par exemple tu fais un control qui lorsqu'il est plus petit qu'une certaine taille il n'affiche plus tel élement, il faut bien que ca se voit dans le designer.
    Autre exemple, tu fais un control qui se contente d'afficher l'heure courante :un simple label avec un timer qui a chaque 'tick' fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label1.Text = DateTime.Now.ToShortTimeString();
    Tu compiles, tu maismets ton usercontrol dans une form et tu vois qu'a chaque minute ton heure change.
    Un bon moyen d'éviter les problèmes est effectivement le test du mode design ou non.
    Tu peux même aller plus loin en appelant une classe te fournissant des données en dur dans le cas ou tu es en design, et du coup tu peux encore mieux visualiser le résultat avant execution.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. problème design iterator
    Par nikles007 dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/12/2008, 14h44
  2. Problème Design Pattern : Help
    Par donkeyquote dans le forum C++
    Réponses: 5
    Dernier message: 14/01/2008, 09h54
  3. Réponses: 6
    Dernier message: 17/12/2007, 16h16
  4. Linux - problème avec fifos (communication IPC)
    Par wiliwiliwili dans le forum Linux
    Réponses: 4
    Dernier message: 27/08/2007, 22h18
  5. Problèmes avec la communication série
    Par rzayani dans le forum Windows
    Réponses: 3
    Dernier message: 18/06/2007, 11h57

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