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

VB.NET Discussion :

Problème de référence d'objet [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Par défaut Problème de référence d'objet
    Bonjour,

    Je n'arrive pas à comprendre d'ou vient mon erreur car je pense que j'ai bien tout déclaré. voici mon code :

    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
    Private Sub chkboxProprietaire_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkboxProprietaire.CheckedChanged
            If chkboxProprietaire.Checked = True Then
                Dim CmdTestRemarques As New SqlCommand("SELECT idVP, modeleVP + ' ' + libelleVP as InfosVP FROM VP WHERE remarqueVP <> ''", MaConnexion)
                Dim Mavar As Integer = 0
                MaConnexion.Open()
                Mavar = CmdTestRemarques.ExecuteScalar
                MaConnexion.Close()
                MsgBox(Mavar)
     
                If Mavar > 0 Then
                    lstVP.DataSource = Nothing
                    lstVP.Items.Clear()
                    Dim CmdSelectVP As New SqlCommand("SELECT idVP, modeleVP + ' ' + libelleVP as InfosVP FROM VP WHERE remarqueVP <> ''", MaConnexion)
     
     
                    lstVP.DataSource = Nothing
                    lstVP.Items.Clear()
                    Dim dtVP As New DataTable()
                    Dim daTableVP As New SqlDataAdapter(CmdSelectVP)
     
                    'Listbox Voile Principale
                    daTableVP.Fill(dtVP)
                    lstVP.DataSource = dtVP
                    lstVP.DisplayMember = "infosVP"
                    lstVP.ValueMember = "idVP"
     
     
                Else
                    MessageBox.Show("Aucune remarque sur les VP", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If
     
            Else
                Dim CmdSelectVP2 As New SqlCommand("SELECT idVP, modeleVP + ' ' + libelleVP as InfosVP FROM VP", MaConnexion)
     
     
                lstVP.DataSource = Nothing
                lstVP.Items.Clear()
     
                Dim dtVP As New DataTable()
                Dim daTableVP As New SqlDataAdapter(CmdSelectVP2)
     
                'Listbox Voile Principale
                daTableVP.Fill(dtVP)
                lstVP.DataSource = dtVP
                lstVP.DisplayMember = "infosVP"
                lstVP.ValueMember = "idVP"
     
     
            End If
     
     
        End Sub
    et voici le code de ma listbox

    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 Sub lstVP_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstVP.SelectedIndexChanged
     
     
            If lstVP.SelectedValue.ToString <> "System.Data.DataRowView" And lstVP.SelectedValue.ToString <> "" Then
                Dim CmdSelectInfosVP As New SqlCommand("SELECT modeleVP, libelleVP, surface, remarqueVP FROM VP Where idVP = " & lstVP.SelectedValue & "", MaConnexion)
                MaConnexion.Open()
                Dim CurseurSelectInfosVP As SqlDataReader = CmdSelectInfosVP.ExecuteReader
                While CurseurSelectInfosVP.Read
                    txtModele.Text = CurseurSelectInfosVP.GetString(0)
                    txtLibelle.Text = CurseurSelectInfosVP.GetString(1)
                    txtSurface.Text = CurseurSelectInfosVP.GetValue(2)
                    txtRemarques.Text = CurseurSelectInfosVP.GetString(3)
                End While
                MaConnexion.Close()

    Mon erreur arrive à Listbox_SelectedIndexChanged, lorsque je change le statut de ma checkbox et j'obtiens le message suivant :

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

    Quelqu'un pourrait il me dire d'ou provient mon erreur ? car j'ai bien utilisé les mots new et j'ai bien détruit les autres elements avant d'utiliser les mêmes (lstVP.datasource = nothing et lstVP.items.clear())


    Cordialement

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Bonjour,

    Quelle ligne déclenche cette erreur ?
    Il faudrait peut être que tu testes si ton lstVP.SelectedValue n'est pas null...

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Par défaut
    Bonjour,

    Je viens de rajouter la condition And lstVP.SelectedValue IsNot Nothing, et à priori cela fonctionne, mais maintenant lorsque je clique sur la checkbox, en pas a pas je vois bien que toutes les étapes se déroulent correctement mais après ça ne passe plus jamais par l'évènement IndexChanged et la liste n'est pas mise à jour, meme quand je change d'item manuellement celà ne fait rien....

    J'ai toujours la même erreur...

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Le contrôle sur Nothing est à ajouter en premier contrôle, car sinon tu vas d'abord faire un ToString et planter avant de vérifer que ton objet n'est pas à Nothing ...
    Ensuite tu dois utiliser un AndAlso pour la condition suivante, ça permet de spécifier que si la première condition est fausse, tu ne vas pas vérifier la suivante, tu sors directement du IF. (Le Orelse fait l'inverse, si ta première condition est bonne, il ne s'embête pas à vérifier les autres, il rentre directement)

    Pour ton problème, as-tu mis un point d'arrêt sur la sub SelectedIndexChange ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Par défaut
    Lorsque j’exécute en pas à pas, le programme passe par lstVP.datasource = nothing, il passe aussitôt par selectindexChanged.... donc d'un sens logique car il ne vide pas les items et n'execute pas la requete pour remplir les nouveaux items...

    Je en comprends vraiment pas

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Par défaut
    J'avais mal positionné mon AndAlso, je ne connaissais pas cette condition, cela fonctionne à merveille maintenant, je te remercie, ccela va beaucoup m'aider dans mon développement


    Un énorme merci à toi !

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Bonjour,

    suffit de regarder quelle ligne plante déjà

    Je suppose que c'est lstVP.SelectedValue.ToString.
    Si lstVP.SelectedValue = Nothing tu ne peux pas faire un ToString dessus.
    Si l'erreur vien bien de là, il suffit de rajouter en condition : Not lstVP.SelectedValue is Nothing andalso.

    EDIT : Devancé, même intuition

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

Discussions similaires

  1. [LibreOffice][Tableur] Problème de référence objet
    Par madvic dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 17/10/2014, 09h19
  2. [C#] Problème référence d'objet
    Par Jarell dans le forum Débuter
    Réponses: 8
    Dernier message: 13/06/2013, 09h45
  3. Problème de référence objet en C#
    Par _yann dans le forum Visual Studio
    Réponses: 1
    Dernier message: 02/01/2013, 10h12
  4. [Débutant] problème référence d'objet est requise pour NavigationService
    Par Veidt dans le forum Windows Phone
    Réponses: 2
    Dernier message: 11/08/2012, 00h13
  5. problème de références _ptr dans une map STL
    Par Mr_Tyu dans le forum CORBA
    Réponses: 1
    Dernier message: 10/08/2004, 10h39

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