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 :

CPU fatigué ? il excute la moitiè de ma fonction..


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut CPU fatigué ? il excute la moitiè de ma fonction..
    Bonjour a tous

    je suis assè....désenparè...

    seul la moitiè de ma fonction est traiter.....

    je travail sous VS 2008 SP2

    il n'y a pas besoin de tout comprendre, en gros ma fonction fait:

    1) Recupere la liste des professeurs en base
    2) Si aucun prof alors en ajouter un
    3) Recupere le liste des classe en base
    4) Si aucune classe en ajouter une
    6) declencher un evenement avec en parametre "prof != null && classe != null"


    le tout parsemè de message se cumulant dans un Label

    j'ai ajouter plusieurs MessageBox pour trouver le bug(elle ne devrais pas exister dans un fonctionnement normal)


    si j'execute mon programme sur une base vierge(prof et classe doive etre crèè) il m'affiche

    Ajout de la racine : Professeur...
    Ajout de la racine : Professeur OK
    et c'est tout....aucune MessageBox ne s'affiche....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    public void Activer()
            {
                if (lblDescription.Text != "Certaines données sont nécessaire pour pouvoir créer des comptes utilisateurs et gérer les données correctement.\n\n\n\n")
                    Initialiser();
     
                Professeur _profRacine = null;
                Classe _classeRacine = null;
                Hashtable _donnees;
     
                List<Professeur> _professeurs = GestionnaireSingleton.Instance.ICatalogueUtilisateur.ListeProfesseur;
                if (_professeurs.Count == 0)
                {
                        lblDescription.Text += "Ajout de la racine : Professeur...\n";
     
                        _donnees = new Hashtable();
                        _donnees.Add("Civilité", "Mr");
                        _donnees.Add("EMail", "prof_racine");
                        _donnees.Add("Login", "prof_racine");
                        _donnees.Add("Nom", "prof_racine");
                        _donnees.Add("Prenom", "prof_racine");
                        _donnees.Add("Password", "prof_racine");
     
                        _profRacine = GestionnaireSingleton.Instance.ICatalogueUtilisateur.Ajouter(_donnees, typeof(Professeur)) as Professeur;
     
                        lblDescription.Text += "Ajout de la racine : Professeur  OK\n\n";
                }
                else
                {
                    _profRacine = _professeurs[0];
                    lblDescription.Text += "Ajout de la racine : Professeur  OK\n\n";
                }
     
                MessageBox.Show("debut class");
     
                List<Classe> _classes = GestionnaireSingleton.Instance.ICatalogueClasse.ListeClasse;
     
                if (_classes == null)
                    MessageBox.Show("classes null");
     
                MessageBox.Show(_classes.Count.ToString());
                if (_classes.Count == 0)
                {
                        lblDescription.Text += "Ajout de la racine : Classe...\n";
                        MessageBox.Show("debut ajout");
                        _donnees = new Hashtable();
                        _donnees.Add("Intitulé", "Classe d'origine");
                        _donnees.Add("NomCourt", "(aucune)");
                        _donnees.Add("N°ProfPrincipal", _profRacine.NumUtilisateur);
     
                        _classeRacine = GestionnaireSingleton.Instance.ICatalogueClasse.Ajouter(_donnees);
     
                        lblDescription.Text += "Ajout de la racine : Classe  OK\n\n";
                }
                else
                {
                    _classeRacine = _classes[0];
                    lblDescription.Text += "Ajout de la racine : Classe  OK\n\n";
                }
     
                if (_profRacine != null && _classeRacine != null)
                    lblDescription.Text += "\nElements racine présent";
     
                OnBoutonChange(this, new BoutonEventArgs(BoutonDisponible.cmdSuivant, (_profRacine != null && _classeRacine != null)));
            }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 30
    Par défaut
    Salut,

    Je ne sais pas ou tu as trouvé visual studio 2008 SP2, car le SP1 vient de sortir ;-)

    Evites de débogguer avec des messagebox.

    Utilises
    System.Diagnostics.Debug.write(message)
    et le contenu est mis dans le output de visual studio

    Ou utilise les points d'arret (breakpoint)
    pour arreter le programme a un endroit precis dans le source

    http://lgmorand.developpez.com/dotnet/vs2005/
    Point 1.2.4

    Les trace point et les watch (espions)

    Tu as pleins d'options dans VS, qui empeche les messages box


    Bon courage.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    oui desoler je voila dir "Framework 2"
    du fait que peut de personne utilise le 3.5


    pour le debuger je peut pas, cette partie de code s'integre dans un utilitaire qui lui meme a besoin d'un environnement non present sur ma machine


    donc adieu les benefice du debbugage

    je compile, je compile le setup et j'installe a chaque test


    j'en ai parler avec plusieur personne elle il semblerais normal que au moins la 1er messagebox s'affiche....

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 30
    Par défaut
    Pour debugger utilise un fichier de log a la place
    avec un log4net ou un nlog.

    Regardes si tu n'a pas d'exception qui est lancée avec try catch autour de ton codes.

    Il est possible de deboguer a distance avec VS 2005/2008

    Traduction approximative sur le site MSDN ouMS

    Bon courage

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    après une analyse plus aprofondi le problème venais du fait que prof_Racine était null

    erreur de cast

    il semblerais que le projet dans lequel s'integre ce module "bloquer" les crash enfin je sais pas trop....celui n'est pas de moi

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/05/2008, 11h34
  2. Réponses: 6
    Dernier message: 22/05/2008, 23h15
  3. Réponses: 9
    Dernier message: 24/08/2007, 12h37
  4. [10g][PL/SQL] exécuter la requete d'une fonction
    Par gojira dans le forum Oracle
    Réponses: 4
    Dernier message: 31/10/2006, 11h46
  5. Réponses: 3
    Dernier message: 23/05/2006, 16h41

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