Impossible de résoudre la référence COM

Résolu
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 - 4 août 2016 à 17:59
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 - 6 août 2016 à 20:47
Bonjour,
J'ai besoin d'aide. Merci d'avance.
Lorsque que j'exécute mon projet, ou que je régénère la solution, j'obtiens l'erreur suivante :
Erreur 29 Impossible de résoudre la référence COM "fcfb3d2e-a0fa-1068-a738-08002b3371b5" version 6.0. L'importateur de bibliothèques de types a détecté une erreur lors de la vérification de type. Essayez d'importer sans membres de classe.
La référence dont il est question correspond à la référence "Visual Basic objects and procedures"
Il semblerait que ce soit une erreur lors de la vérification d'un type, mais je ne sais pas à quel endroit
dans le code ni comment y parvenir.
Quelqu'un peut-il m'aider ?
Merci à vous.
Thomas

12 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
4 août 2016 à 18:13
Bonjour, quand on fait une recherche sur le nom de ta référence, on tombe
https://support.microsoft.com/fr-fr/kb/262976
Ça parle de VB6, et tu postes en VB.net.

Donc peux tu lever le doute sur ton langage?
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
5 août 2016 à 10:03
Bonjour,
Je suis également tombé sur ce lien. Mais je confirme qu'il s'agit bien de VB.Net (version 2013) et non de VB6.
Merci pour votre réponse.

Thomas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
5 août 2016 à 10:20
Peux tu poster une copie d'écran de la liste d'erreur ou du message?
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
5 août 2016 à 11:21
Voici la copie d'écran :


Thomas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
5 août 2016 à 11:49
hum ça n'aide pas.

Par contre l'utilisation de Goto est très très très fortement déconseillé depuis VB1.... Peut être même avant.

En .Net on gère les erreurs avec Try Catch
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
5 août 2016 à 11:52
bonjour Thomas13012
Plusieurs remarques suite à ta copie d'écran
1) en VB Net on n'utilise plus On Error Goto ( on préfère les structures de code Try - Catch - End Try )
2) Je vois que tu explores des partitions logiques d'après le bout de codes Les dimensionnements en Integer risquent de provoquer des dépassements de capacités ( surtout si c'est pour représenter le nombre d'octets d'une partition ou le nombre de secteurs de celle-ci )
3)Tu as 36 avertissements : as-tu mis Option Strict et Option Explicit en propriété pour ton projet et supprimer la référence à Microsoft Visual Basic dans les références du projet ( cette référence assure la compatibilité avec VB 6 : si on fait de VB NET autant le faire à fond et ne pas utiliser des bouts de code VB 6)

un petit lien bien intéressant pour un cours VB Net : http://plasserre.developpez.com/cours/vb-net/
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
5 août 2016 à 12:55
Salut vb
nos messages se sont croisés ;)
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
5 août 2016 à 18:43
bonsoir Whis
0

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

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
5 août 2016 à 11:51
Dans tes références est-ce que tu as désactivé Visual Basic (ça importe des instruction vb6, d'une part ça mélange torchons et serviettes et d'autre part ça ne marche pas toujours)?

Est ce qu'Option Strict et Option Explicit sont à On?
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
5 août 2016 à 13:23
Merci à vous tous pour vos commentaires.
Pour l'interception d'erreurs par Goto, je sais bien qu'en Vb.Net il est préférable d'utiliser Try Catch - End Try. Mais là je récupère du code Vb6 que je dois nettoyer par la suite. J'ai bien Option Strict et Option Explicit à On. Je n'ai pas encore décocher la référence à Microsoft Visual Basic car j'attends de nettoyer mon code. En fait, pour tout dire, tout marchait bien jusqu'à ce que j'intègre le composant Keysta32.ocx pour rester compatible dans un 1er temps avec le code précédent. J'ai ensuite supprimer toute référence à ce contrôle (MicroHelp Key State Control) en utilisant à la place My.Computer.Keyboard.CapsLock(NumLock...) et GetKeyState(TOUCHE_INS). Mais l'erreur persiste. Voilà, vous savez tout.

Thomas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
5 août 2016 à 15:21
C'est exactement ce que je disais plus haut, mettre du vb6 dans .net n'est pas un bon calcul.

Sauvegarde les fichiers de codes, crée un nouveau projet et importe tes fichiers dedans
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
5 août 2016 à 18:50
C'est exactement ce que j'ai fait, mais l'erreur persiste.

Thomas
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
5 août 2016 à 19:09
Quelques pistes
1) en VB 6 les tableaux commencent à 1 ( sauf si on met Option Base à 0) alors qu'en VB Net ils commencent toujours à 0
2) un Long VB 6 devient un Integer en VB Net
VB6 -----> VBNET
integer----> short
long --------->integer

Un code VB6 n'est jamais réutilisable tel quel en VB Net
Il faut se dire : comment faire en VB Net pour faire une instruction VB6 ou comment faire en VB Net pour avoir le même fonctionnement en VB 6 pour un bloc de code bien défini .
Et encore c'est se passer de pas mal de nouveautés puissantes de VB Net
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
5 août 2016 à 19:21
Vos différents commentaires m'ont mis sur la voie.
J'ai seulement supprimer les références "Visual Basic objects and procedures" et "Visual Basic runtime objects and procedures" et mon projet fonctionne de nouveau.

Il suffisait de prendre le message d'erreur au pied de la lettre.

Merci

Thomas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
Modifié par Whismeril le 6/08/2016 à 12:30
Ce qui voudrait dire qu'en créant le nouveau projet comme je te l'avais suggéré tu avais remis ces références??
0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
6 août 2016 à 15:21
Bonjour,

Je n'ai pas crée un nouveau projet.
Mais ces références ont dû se rajouter quand j'ai intégré le composant de MicroHelp Key State (Keysta312.ocx). Quand l'erreur est apparue, j'ai supprimé ce composant et j'ai nettoyé les références relatives à MicroHelp en ignorant les références "Visual Basic objects and procedures" et "Visual Basic runtime objects and procedures" dont j'ignorais la présence. L'erreur persistant, j'ai demandé de l'aide. Puis, en relisant le message d'erreur, j'ai pensé à vérifier la référence, après l'avoir identifiée par sa propriété "Identité" (fcfb3...), et je l'ai supprimée avec sa voisine (runtime). Et tout s'est remis à fonctionner correctement. A l'avenir, je vais donc éviter les anciens contrôles de mon code VB6 précédent, et utiliser les APIs correspondantes et classes VB.Net (dans ce cas "GetKeyState(TOUCHE_INS)" et My.Computer.Keyboard.CapsLock(NumLock...) qui donnent entière satisfaction, comme vous m'avez suggéré d'abandonner toute référence à VB6.
Encore merci pour votre soutien et votre support.

Thomas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
6 août 2016 à 18:00
Ha j'avais donc mal compris, quand j'ai dit
Sauvegarde les fichiers de codes, crée un nouveau projet et importe tes fichiers dedans

et que tu as répondu
C'est exactement ce que j'ai fait, mais l'erreur persiste.

0
Thomas13012 Messages postés 35 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 8 octobre 2016 1
6 août 2016 à 20:47
En fait, c'est ce que j'avais fait en construisant mon projet avant que l'erreur ne survienne. Puis après l'apparition de cette erreur, j'ai reconstruit le projet de la même façon et l'erreur est revenu dès que j'ai intégré le composant de MicroHelp. Et puis la suite vous la connaissez, en me mettant sur la piste de l'incompatibilitté des références VB6... $&@&# de Keysta312.ocx :).

Thomas
0
Rejoignez-nous