VB + Classe - Tableau d'objet

VB + Classe - Tableau d'objet - VB/VBA/VBS - Programmation

Marsh Posté le 20-11-2003 à 18:37:53    

Voilà j'essaie de remplir un tableau avec des objets précédement créer.
J'ai donc déclaré mon tableau comme ceci:

Code :
  1. Dim TabObjet(1 to 10) As Objet
  2. Dim unObjet As Objet


Puis, dans une boucle de type FOR j'initialise un objet, et je rempli mon tableau de cet objet:

Code :
  1. Set unObjet = New Objet
  2. For I = 1 To 10
  3.       unObjet.init(lesParametre)
  4.       TabObjet(I)=unObjet
  5. Next


L'erreur:
Variable objet ou bloc with non défini
 
Question:
est-t-il possible de passer par un tableau d'objet?
Ne devrais je pas passé par une structure avec une seul variable de type 'Objet'?
Comment gérer sous VB une collection d'objet.
Je précise que j'ai cherché sur le net des infos, en vain.
Pourriez vous m'aider?
 [:at war with emo]

Reply

Marsh Posté le 20-11-2003 à 18:37:53   

Reply

Marsh Posté le 21-11-2003 à 09:45:43    

Essaie
Set unObjet = New Objet
  For I = 1 To 10
        unObjet.init(lesParametre)
        set TabObjet(I) = unObjet
  Next
   

Reply

Marsh Posté le 21-11-2003 à 09:54:05    

pour l'expliquer en français dans le code de vallot, le Set est obligatoire pour assigner la référence d'un objet à un autre objet.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 23-11-2003 à 19:35:20    

Oké j'ai vu, maintenant ca fonctionne. Erreur bête, mais je ne pensait pas qu'il fallait appliquer Set à chaque fois que je modifiait mon tableau d'objet. Mais finalement c'est évident puisque par exemple lors de l'utilisation d'un Recordset, qui est lui aussi un objet, on doit mettre Set aussi à chaque fois qu'on le modifie, comme tout les objet VB donc.
Merci beaucoup pour les réponses.
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed