Retour de COLLECTION=====HELP

Alcoolhozor Messages postés 2 Date d'inscription dimanche 29 septembre 2002 Statut Membre Dernière intervention 5 octobre 2002 - 5 oct. 2002 à 13:58
pimpoumvlan Messages postés 9 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 août 2003 - 1 juil. 2003 à 15:59
'alut...Voilà comment je rempli ma collection...

FIND_PERM()
set NewPermissions = new permission
dim Newcoll as collection

While (Not Recordset.EOF) '# on remplit la collection
'#avec result de requete
NewPermissions.Nom_perm = Recorset!Nom_perm
Newcoll.Add NewPermissions

Recordset.MoveNext
Wend

ET AU MOMENT DE RECUPERER LE CONTENU IL ME DONNE LE NOMBRE EXACT D'ELEMENT...MAIS LEURS VALEUR EST IDENTIQUE (=DERNIER ELEMENT INTRODUIT DANS NewColl)...

Dim MyObject As Object

Set Objpermissions = New Permissions
Set Newcoll = New Collection
Set Newcoll = Objpermissions.FIND_PERM
MsgBox Newcoll.Item(1).nom_perm '
MsgBox Newcoll.Item(2).nom_perm ' contenu
MsgBox Newcoll.Item(3).nom_perm ' identique
MsgBox Newcoll.Item(4).nom_perm '

....Please Help :shy)

2 réponses

ShanaBurns Messages postés 30 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 30 mai 2003
6 oct. 2002 à 06:02
D'apres moi c une histoire de référence un peu comme en C qui fait l'erreur.
Permission doit etre une classe si je lis bien.. ou peut-etre un type.
Quand tu l'add dans ta collection tu add juste le lien vers l'élément de ta classe que ta créer avec
set NewPermissions = new permission
alors c toujours le meme élément vers lequel il pointe. Donc lorsque tu change ca valeur c normal que la valeur de tout les autres changes aussi puisque ce n'est en veritée qu'un seul et meme élément qui est relié a tout tes items de ta collection.

En résumé je te dirais de créer un nouvelle élément permission pour chaque add dans ta collection.
Bon je suis pas sure que c vraiment ca ton bug, mais d'apres ce que tu dit ca me semble bien possible.
J'espere que ca pourra t'aider un peu et surtout que t'arrivera a comprendre ce que j'ai écris, car je suis pas forte dans la facon d'expliquer.
0
pimpoumvlan Messages postés 9 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 8 août 2003
1 juil. 2003 à 15:59
Bon ça fait longtemps que le message a été posté mais j'ai été confronté au mê^me problème et j'ai trouvé la solution.

je le poste au cas où cela pourraitaider qqun

Apres avoir ajouté sa classe à la collection il suffit tout bêtement d'en liberer
l'space memoire en lui affectant un 'nothing'. Cela permettra que le programme pointe sur une autre occurence de la classe
0
Rejoignez-nous