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 :

code erroné (System.NullReferenceException )


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut code erroné (System.NullReferenceException )
    bonjour

    lorsque j'exécute mon programme le systéme m'affiche une erreur au niveau de cette méthode.
    voici le 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
    Public Shared Function identifier(ByVal wmiclass As String, ByVal wmiproperty As String)
                Dim result As New String("")
                Dim mc As Management.ManagementClass = New ManagementClass(wmiclass)
                Dim moc As Management.ManagementObjectCollection = mc.GetInstances()
                Dim mo As Management.ManagementObject = New ManagementObject
                For Each mo In moc
                    If result = "" Then
                        Try
                            result = mo.GetPropertyValue(wmiproperty).ToString
                            Exit Try
     
                        Catch ex As Exception
                            MessageBox.Show(ex.ToString(), "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                        End Try
                    End If
     
                Next mo
     
                Return result
            End Function
    l'erreur affichée est :
    System.NullReferenceException : la réference d'objet n'est pas définie à une instance d'objet
    c'est au niveau de la ligne suivante que l'erreur se déclenche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result = mo.GetPropertyValue(wmiproperty).ToString
    cordialement

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    2 possibilités :
    - mo est null, donc GetPropertyValue plante (peu probable vu que tu le récupères d'une collection WMI)
    - la valeur renvoyée par GetPropertyValue est null, et donc ToString plante

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    en exéctant pas à pas le programme et aprés l'exécution de ces trois lignes de codes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim mc As New ManagementClass(wmiclass)
                Dim moc As Management.ManagementObjectCollection = mc.GetInstances()
                Dim mo As Management.ManagementObject = New ManagementObject()
    j'ai vérifié le contenu des objets mc,moc et mo:tous les propriétés de ces trois objets contient "error:cannot obtain value"

    cordialement

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    dans ce cas je suppose que la valeur de wmiclass est incorrecte... vérifie que c'est bien un classe WMI existante

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2007, 08h05
  2. Réponses: 2
    Dernier message: 05/06/2007, 17h22
  3. code erroné ou non??
    Par issam16 dans le forum Access
    Réponses: 1
    Dernier message: 21/06/2006, 12h50
  4. code erroné
    Par moonia dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2006, 13h59
  5. [VB.NET] System.NullReferenceException
    Par LeGrosWinnie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/12/2005, 13h31

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