Problème avec IContextMenu2 [Résolu]

Signaler
Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014
-
Whismeril
Messages postés
14419
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
31 mars 2020
-
Bonjour,
Je suis en stage, chargé de modifier un logiciel dont je dispose le code source, mais je ne connais pas grand chose à VB6. Le problème est que quand j'ouvre le projet avec VB6 et que j'essaye de compiler, un message d'erreur apparait "Compile error: User-defined type not defined" et il surligne la ligne suivante : Public ICtxMenu2 As IContextMenu2.

Après pas mal de recherches j'ai compris que c'était surement une erreur de bibliothèques et de références, il faut que je rajouter un fichier pour expliquer au compilateur ce qu'est IContextMenu2 mais je n'arrive pas à comprendre ce que je doit faire. (J'ai cru comprendre qu'il fallait rajouter shell32.dll, ce que j'ai fait mais je n'arrive pas à savoir comment l'activer dans les références, et je ne sais même pas si ce shell32 me servira à qqch)
S'il vous plait aidez-moi, je n'avance plus là...

10 réponses

Messages postés
14419
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
31 mars 2020
365
Bonjour es tu bien sûr qu'il s'agit d'un code en VB6.
Car les interfaces IContextMenu2 ou autres c'est plutôt du VB.net.

Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014

Je ne sais pas trop, je pense que c'est du VB6 car je n'arrivais pas à ouvrir le projet avec visual studio 2010 alors que j'ai réussi avec VB6. De plus j'avais remarqué les msgbox s'écrivait "MsgBox" et non pas "messagebox" comme en vb.net (je ne me trompe pas j'espère :) ). Mais bon je n'en sais rien, comment pourrais-je savoir définitivement si c'est du vb6 ou du VB.net ?
Messages postés
14419
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
31 mars 2020
365
Regarde les extensions, les fichiers de code sont des .vb et il y a un sln et un duo quand c'est en .Net
Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014

Les extensions sont des .frm, .frx, .vbp, .vdw, .bas, .cls, .ctl
Pas de sln ou duo. Donc ça veut dire que c'est du VB6, non ?
Messages postés
14419
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
31 mars 2020
365
Oui

Et bien je ne sais pas te dire ce qu'est un icontextmenu2 en vb6.
Il ne te reste qu'à attendre un specialiste
Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014

Il y a un commentaire à côté qui dit qu'il s'agit de la mise en place du menu contextuel.

D'accord, en tout cas merci beaucoup de ta réponse.

Et appel aux spécialistes !
Nécessite ishf_ex.tlb
Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014

Merci beaucoup Loulou,

Je viens de télécharger ce fichier ishf_ex.tlb mais je n'arrive pas à comprendre comment l'utiliser. Pouvez-vous cependant m'expliquer un peu plus comment faire pour l'"activer" sur vb6 ? Je suis désolé, je débute et je m'y perds avec ces .dll, .ocx, activeX ...

J'ai essayé de le mettre dans c:\windows\sysWOW64 et de le rechercher dans les références mais je ne le trouve pas.

Merci d'avance
Messages postés
32
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
18 novembre 2014

En fait c'est bon ! J'ai finalement réussi. Je précise pour ceux que ça intéresserait (qui sait !) :
Il fallait bien mettre le fichier .tlb dans C:\windows\sysWOW64
puis aller dans le menu "project", puis "references..." et aller le chercher avec "browse..." à son emplacement.
S'assurer ensuite qu'il est bien coché.

Merci à tous les deux en tout cas.
Messages postés
14419
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
31 mars 2020
365
Tu peux mettre l sujet résolu alors.