Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > C#
C# Forum d'entraide sur la programmation C#. Avant de poster -> FAQ C#, Articles C#, Sources C#
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/01/2013, 15h41   #1
SynApps
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 13
Points : 0
Points : 0
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 :
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 :
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
Type de fichier : zip slnDossierClient.zip (253,5 Ko, 1 affichages)
SynApps est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 16h09   #2
MvK0610
Membre régulier
 
Homme Fabien
Développeur .NET
Inscription : juin 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France, Savoie (Rhône Alpes)

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

Informations forums :
Inscription : juin 2012
Messages : 61
Points : 88
Points : 88
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 :
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)
MvK0610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 18h22   #3
SynApps
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 13
Points : 0
Points : 0
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...
SynApps est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 09h18   #4
MvK0610
Membre régulier
 
Homme Fabien
Développeur .NET
Inscription : juin 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France, Savoie (Rhône Alpes)

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

Informations forums :
Inscription : juin 2012
Messages : 61
Points : 88
Points : 88
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)
MvK0610 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 12h11   #5
SynApps
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 13
Points : 0
Points : 0
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.
SynApps est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h24.


 
 
 
 
Partenaires

Hébergement Web