Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007
-
22 déc. 2006 à 20:32
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
30 déc. 2006 à 16:32
Bonjour à tou(te)s, je ne sais pas faire de fioritures donc :
Historique :
Une classe (clsClass1).
Une collection de cette classe (clnClass1) nommée mTruc.
Utilisation :
Private Sub Command1_Click()
Dim c1 As New clnClass1
c1.Add "truc1", 1
c1.Add "truc2", 2
'...
End Sub
Ca marche impeccable !
J'intègre la collection clnClass1 dans la classe "clsClass2"
Utilisation :
Private Sub Command1_Click()
Dim c2 As New clsClass2
c2.mTruc.Add "truc1", 1
c2.mTruc.Add "truc2", 2
End Sub
Ca marche aussi impeccable !
Question :
Mais voilà, je voudrais faire (et utiliser) une collection de la classe "clsClass2" et là, ça se complique car j'ai toujours des erreurs de compil quand je veux atteindre la collection mTruc au travers de la nouvelle collection. Et pourtant, j'ai essayé plein de choses. La seule chose qui fonctionne est l'utilisation de tableaux mais ça ne me convient pas.
J'espère que je m'explique bien, en tous cas, pour ceux qui suivent encore, je résume :
Je voudrais, en VB6, créer et utiliser une Collection de Collections comme on peut le faire en d'autres langages, est-ce vraiment possible ?
PS : les collections ont été créées avec l'assistant vb6.
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 23 déc. 2006 à 12:55
Salut,
Oui c'est possible bien évidemment :
Pour cela il te faut créer une classe 'clsBidule' et une collection 'colBidule' de cette classe
Il faut ensuite créer une autre classe 'clsTruc' dans laquelle tu instancies une collection cls 'colBidule' en propriété de cette dernière classe.
Enfin il faut créer une collection 'colTruc' de la classe 'clsTruc'.
Je te conseil d'utiliser le générateur de classe et de collection de vb pour commencer.
Fiko ;-)
La reponse vous convient pensez > Accepter < <hr />
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 23 déc. 2006 à 13:56
Merci pour ta réponse mais c'est exactement ce que j'ai fait.
Le problème est sans doute au moment où je veux m'en servir :
Dim cln As New colTruc
cln.Add ???, MyIndex
Quoi que je mette à la place des ??? (qui représente ma sous collection), j'ai "utilisation incorrecte de la propriété", "type incompatible", ... ça me gave.
Le seul truc qui marche c'est le tableau :
Dim cln() As New colTruc
etc ...
Et j'ai cherché partout sur le web sans trouver un seul exemple.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 déc. 2006 à 16:32
Salut,
les classes objets sont très pratiques et rapides à l'exécution et cherche du côté de IUnknown (membre caché), pour voir comment faire...
Regarde ma dernière source sur le zoom, je fais un classe objets (classe de collection)
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>