Variables, Types et Collections

Larwin - 19 oct. 2001 à 22:02
 nicolas - 23 oct. 2001 à 10:04
Un petit probleme qui peut peut-etre paraitre simple pour certain, mais j'avoue rester bloqué quelque peu devant le message d'erreur renvoyé par ce petit morceau de code...

Explications et petit exemple :

---- Module Test.bas ----

Public ListClient as New Collection

Type Client
Nom as String
Prenom as String
End Type

---- Fin de Test.bas ----

---- Form Test.frm ----

Private Sub Form_Load

Dim NewClient as Client

NewClient.Nom = "blabla"
NewClient.Prenom = "coucou"

ListClient.Add NewClient

End Sub

---- Fin de Test.frm ---

Et voila BOOM ! :)

ListClient.Add NewClient ne fonctionne pas.
Ne peut ont pas ajouter une variable d'un type défini par l'utilisateur dans une collection ?
Si oui ... bein comment ki faut faire ? :)
Pi si non ... je suis ouvert a toute proposition premettant de faire quelque chose comme ca ... dans le genre ...

M'ci d'avance tout l'monde

Larwin.

5 réponses

Quelques précisions sur le message d'erreur ...

Je retranscri pelmel :)

Erreur de compilation:

Seuls les types définis par l'utilisateur et qui sont définis dans les modules d'objets publics peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaison tardive

Si quelqu'un a une idée...
0
en effet j'ai eu ce problème moi aussi! et à mon avis ça doit pas etre possible de passer un type user en argument (et peut etre en collection non plus) par contre je te propose une solution,, c'est de créer une classe (de suite on sort les gros outils) que tu appelle cClients dans laquelle tu défini tes variables... ensuite:

dim newClient as new cClient
cClient.Nom = "toto"
(etc le reste) et la tu peux l'ajouter en collection:
listClient.Add newClient
pour ma part c'est la seule bidouille qui m'a sauvé
a+
nico
0
en effet j'ai eu ce problème moi aussi! et à mon avis ça doit pas etre possible de passer un type user en argument (et peut etre en collection non plus) par contre je te propose une solution,, c'est de créer une classe (de suite on sort les gros outils) que tu appelle cClients dans laquelle tu défini tes variables... ensuite:

dim newClient as new cClient
cClient.Nom = "toto"
(etc le reste) et la tu peux l'ajouter en collection:
listClient.Add newClient
pour ma part c'est la seule bidouille qui m'a sauvé
a+
nico
0
ok m'ci :)

Tu sais ou je peux trouver + d'infos sur les classes ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tu peux prendre un cours sur la msdn l'aide VB assez complete mais le mieux je pense c'est de décortiquer un exemple. pas trop compliqué si tu débute! bon courage
0
Rejoignez-nous