Probleme avec les collections...

Résolu
sylchar Messages postés 4 Date d'inscription dimanche 17 octobre 2004 Statut Membre Dernière intervention 12 janvier 2007 - 12 janv. 2007 à 12:30
sylchar Messages postés 4 Date d'inscription dimanche 17 octobre 2004 Statut Membre Dernière intervention 12 janvier 2007 - 12 janv. 2007 à 13:45
Bonjour,

J'ai un souci, je travail avec une collection et à chaque fois que j'ajoute un item dans ma collection, tous les items precedents prennent la meme valeur que mon dernier item ajouté...

Je seche completement

Voici mon code:

listeCol.Add(Enreg)

Merci beaucoup

Sylvain

<!-- / message -->

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 janv. 2007 à 12:40
Ce que je vais dire s'applique pour vb6, mais il y a de grande chance que ca soit valable pour vb.net :
Il doit s'agir tout simplement du fait que tu modifie directement l'objet Enreg, et que tu ne crée pas une nouvelle instance : une collection n'est qu'une liste de pointeurs vers les objets, et il ne s'agit pas d'une copie des objets (heureusement d'ailleurs !)

Donc au lieu de faire :

set Enreg = new Class1
Enreg.nom = "toto"
listeCol.add enreg
Enreg.nom = "titi"
listeCol.add enreg

Il faut faire :
set Enreg = new Class1

Enreg.nom = "toto"

listeCol.add enreg
set Enreg = new Class1
Enreg.nom = "titi"

listeCol.add enreg
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 janv. 2007 à 13:26
C'est exactement ça en VB2005 aussi, bref c'est le principe des collections.

Tu n'ajoute pas un objet à une collection, tu ne fais qu'ajouter une référence vers un objet existant.

Tu peux comparer une collection à la table des matières d'un livre, ce n'est qu'une liste de réfrérences vers les objets qui sont ici les articles, chapitres, pages du livre

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
sylchar Messages postés 4 Date d'inscription dimanche 17 octobre 2004 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2007 à 13:45
Super merci à tous pour votre aide précieuse!!!

@+

Sylvain
0
Rejoignez-nous