Erreur: Type IUnknown non défini !!

Poncharello Messages postés 7 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 11 février 2005 - 10 févr. 2005 à 14:29
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 11 févr. 2005 à 14:07
Bonjour,
J'ai créé ma classe et inséré cette fonction comme je l'ai vu dans ce site :

-> Public Function NewEnum() As IUnknown

A la compil, j'ai ce message :
"Type défini par l'utilisateur non défini"

Que faut-il faire pour me débarrasser de ce message on ne peut plus absurde !?

4 réponses

ofeelfree Messages postés 9 Date d'inscription mercredi 24 septembre 2003 Statut Membre Dernière intervention 14 juin 2005
10 févr. 2005 à 15:46
Bonjour,

Si ma mémoire est bonne l'interface IUnknown est une interface générique utilisée pour l'accès aux dll com.
Dans ton cas, est-ce qu'un Public Function NewEnum() As Object
ne ferait pas mieux l'affaire ?
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
10 févr. 2005 à 21:34
salut,

pour plus d'explications :

http://www.vb-helper.com/howto_sorted_collection.html

sinon, il faut que tu ouvres Outils/Attributs de procédure... puis tu choisis NewEnum dans la liste déroulante en haut...puis clique sur Avancés>> et dans ID de la Procédure, tu tapes -4 et tu coches Masquer ce membre...

De sorte que seul VB peut utiliser la fonction NewEnum pour implémenter For Each...

ShareVB
0
Poncharello Messages postés 7 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 11 février 2005
11 févr. 2005 à 11:06
Bonjour et merci pour vos réponses...

... mais ca ne marche toujours pas (!) :

* Mettre le retour de la fonction en object ne marche pas car il y a une erreur de type avec la fonction [_NewEnum] utilisée ensuite :

-> Set NewEnum = mColMeasure.[_NewEnum]

* En fait, j'avais déja modifié les attributs. (mettre à -4 et masquer ce membre)

=> Avez-vous d'autre idées?

Merci d'avance,
Poncharello
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
11 févr. 2005 à 14:07
salut,

compare la source (en ouvrant avec Notepad) dont je t'ai donné le lien et la tienne : tu dois avoir deux lignes Attribute ... après Public Function NewEnum...

j'ai essayé le projet du lien et il compile impec...

si ca marche toujours pas et bien il faut que tu donnes plus de détails sur la classe qui contient NewEnum...

ShareVB
0
Rejoignez-nous