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 :

Ajouter des lignes aux collections de collections


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Par défaut Ajouter des lignes aux collections de collections
    Bonjour,

    j'ai dans une application codée comme suite :

    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
    70
     
    Public Class Variables
        Public BOM As New List(Of Component) 'BOM finale
    End Class
     
    Public Class TraversAllComponents
                BOM.Add(New Component)
                ID += 1
     
                BOM.Item(ID).Patch = BOM.Item(ID).swComponent.GetPathName       'chemin du composant
     
                '==================
                ' Vérification si la configuration a déjà été traitée
                Dim x As Integer = 0
                If Not IsNothing(BOM.Item(ID).Configuration) Then
                    For Each Y As Configurations In BOM.Item(ID).Configuration
     
                        If BOM.Item(ID).Configuration.Item(x).Name = BOM.Item(ID).ConfigurationName Then
                            Exit For
                        ElseIf x = BOM.Item(ID).Configuration.Count - 1 Then
                            BOM.Item(ID).Configuration.Add(New Configurations() With {.Name = BOM.Item(ID).Patch})
                        End If
     
                        x += 1
                    Next
                Else
                    BOM.Item(ID).Configuration.Add(New Configurations() With {.Name = BOM.Item(ID).Patch})
                End If
                '==================
     
    End Class
     
     
    Public Class Component
     
    Private _Configuration As List(Of Configurations)   'Configuration du composant
        Public Property Configuration() As List(Of Configurations)
            Set(value As List(Of Configurations))
                _Configuration = value
            End Set
            Get
                Return _Configuration
            End Get
        End Property
     
    Private _Path As String   'répertoire du composant
        Public Property Patch() As String
            Set(value As String)
                _Path = value
            End Set
            Get
                Return _Path
            End Get
        End Property
     
    End Class
     
    Public Class Configurations
     
        Private _Name As String   'Nom de la configuration
        Public Property Name As String
            Set(value As String)
                _Name = value
            End Set
            Get
                Return _Name
            End Get
        End Property
     
    End Class
    Aux ligne 21 et 27, je tente de créer une nouvelle "Configuration" mais sans succès.
    L'erreur "La référence d'objet n'est pas définie à une instance d'un objet." m'est renvoyée.
    J'ai cherché partout sur le net le pourquoi du comment mais je n'arrive pas à comprendre d'où vient mon problème.
    Et je n'arrive pas à comprendre pourquoi cela ne fonctionne pas alors que la ligne 7 ne pose aucun problème ( BOM.Add(New Component) )

    Quelqu'un saurait-il d'où vient le soucis SVP?

    Merci!

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private _Configuration As List(Of Configurations)
    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private _Configuration As New List(Of Configurations)
    sinon ca vaut Nothing et ca plante


    si ca plante encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New Configurations() With {.Name = BOM.Item(ID).Patch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New Configurations With {.Name = BOM.Item(ID).Patch
    les parenthèses dans certains cas signifient un tableau (array)


    plus généralement quand tu as un message d'erreur tu fais du pas à pas pour une fois arrivé sur la ligne qui plante faire des espion express sur tout ce qui est concerné
    en l'occurrence tu aurais vu que BOM.Item(ID).Configuration valait Nothing, et Nothing.Add ca plante


    le titre est un peu faux aussi, une collection de collection c'est list(of list(of string)) par exemple
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Par défaut
    ah..
    c'était si simple... Ca fonctionne nickel!

    Merci!

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

Discussions similaires

  1. Ajouter des Controles automatiquement dans une collection
    Par dragondumond dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/05/2013, 16h57
  2. Ajouter des lignes aux fichiers sources créés
    Par shaiHulud dans le forum Eclipse
    Réponses: 2
    Dernier message: 06/10/2011, 21h40
  3. [Fichier] Ajouter des lignes...
    Par Life Hunter dans le forum Langage
    Réponses: 4
    Dernier message: 26/11/2005, 18h28
  4. Réponses: 14
    Dernier message: 22/09/2005, 16h49
  5. [Fichier] Ajout des lignes de doc dans arraylist
    Par 3adoula dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 29/04/2004, 22h41

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