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 :

La référence d'objet n'est pas définie à une instance d'objet


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut La référence d'objet n'est pas définie à une instance d'objet
    Bonjour à tous,

    Voici mon problème. J'ai créé une application en 3 couches (données, métier, interface), avec une connection à une base de données etc... Quand je lance l'application, elle me renvoie l'erreur "La référence d'objet n'est pas définie à une instance d'objet". Seulement le code est correct. Cette erreur se produit dans la couche Interface, au moment du déclenchement de l'evement load du formulaire. Voici la portion de code concernée par l'erreur. Je mettrai ensuite le code source de mon application pour plus de compréhension.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
           private void frmDossierClient_Load(object sender, EventArgs e)
            {
                //Appel de la méthodes de liaison des données
                this.LiaisonDonnees();
     
                //Demande de chargement de la table CLIENT
                this.BLL_DosClient.CLIENT_Chargement();
     
                //Demande d'initialisation de la vue CLIENT
                this.BLL_DosClient.CLIENT_InitialisationVue();
                this.dtvClient = this.BLL_DosClient.Vue_CLIENT;
     
            }
    la ligne qui provoque cette erreur c'est celle qui demande le chargement de la table CLIENT.

    Voici le code de tout le formulaire:
    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
    65
    66
    67
    68
    69
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    using T2_BLL_DossierClient;
     
    namespace T1_UIL_DossierClient
    {
        public partial class frmDossierClient : Form
        {
            #region Champs
     
                private BLL_Services BLL = null;                        //Champ d'instance pour BLL_Services
                private BLL_DossierClient BLL_DosClient = null;         //Champ d'instance pour BLL_DossierClient
                private DataView dtvClient = null;                      //Champ d'instance pour la vue CLIENT
     
            #endregion
     
            //Constructeur
            public frmDossierClient()
            {
                InitializeComponent();
            }
     
            //Surcharge constructeur
            public frmDossierClient(BLL_Services BLL)
            {
                InitializeComponent();
     
                //Affectation au champs du paramètre reçu
                this.BLL = BLL;
     
                //Demande de la création de l'instance BLL_DossierClient via BLL_Services
                this.BLL_DosClient = this.BLL.CLIENT_Creation();
            }
     
            #region Méthodes
     
            private void LiaisonDonnees()
            {
                this.bdsClient.DataSource = this.dtvClient;
     
                //DataGridView
                this.dgvDossierClient.DataSource = this.bdsClient;
            }
     
            #endregion
     
            private void frmDossierClient_Load(object sender, EventArgs e)
            {
                //Appel de la méthodes de liaison des données
                this.LiaisonDonnees();
     
                //Demande de chargement de la table CLIENT
                this.BLL_DosClient.CLIENT_Chargement();
     
                //Demande d'initialisation de la vue CLIENT
                this.BLL_DosClient.CLIENT_InitialisationVue();
                this.dtvClient = this.BLL_DosClient.Vue_CLIENT;
     
            }
        }
    }
    J'ai cherché partout où j'aurais pu faire une erreur, mais je vois rien. Et je suis certain que c'est sous mon nez... Auriez-vous une idée `??

    Pour info, j'ai écrit le code dans Visual Studio 2010 Professional




    P.S. je vous mets aussi tout le code source de mon application
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 87
    Points : 179
    Points
    179
    Par défaut
    Hello,

    Dans ton programs.cs tu as :
    Application.Run(new frmDossierClient());

    Dans ce cas là BLL_DosClient est null puisqu'il n'est instancié nulle part.

    Le message d'erreur parle de lui même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            //Constructeur
            public frmDossierClient()
            {
                InitializeComponent();
                this.BLL = new BLL_Services();
                this.BLL_DosClient = this.BLL.CLIENT_Creation();
            }
    Cdlt,
    MvK
    Les questions ne sont pas obligées d'avoir du sens. Mais les réponses, si.
    Terry Pratchett (Procrastination)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Quand je disais que c'était sous mon nez et que je ne le voyais pas...


    Merci beaucoup pour ta réponse. Cette fois mon application se lance correctement, mais les données ne s'affichent pas dans le DataGridView...

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 87
    Points : 179
    Points
    179
    Par défaut
    Hello,

    L'appel de la méthode LiaisonDonnees() ou tu affectes ton data source avec this.DdtvClient est effectué avant l'affectation de this.DdtvClient avec this.BLL_DosClient.Vue_CLIENT

    Cordialement,
    MvK
    Les questions ne sont pas obligées d'avoir du sens. Mais les réponses, si.
    Terry Pratchett (Procrastination)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Je te remercie pour ton aide. A force de vouloir tellement trouver mon erreur, qu'encore une fois je suis passé a côté xD.

Discussions similaires

  1. [Débutant] La référence d'objet n'est pas définie à une instance d'objet
    Par Crowww dans le forum VB.NET
    Réponses: 27
    Dernier message: 28/05/2013, 16h53
  2. Réponses: 1
    Dernier message: 24/02/2011, 13h01
  3. Réponses: 4
    Dernier message: 14/04/2010, 09h47
  4. La référence d'objet n'est pas définie à une instance d'objet
    Par Delphi-ne dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/07/2009, 15h22
  5. Réponses: 20
    Dernier message: 13/08/2007, 17h11

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