Problème avec CLSIDFromString Lib "ole32.dll" ... Guid [Résolu]

Scrapel 32 Messages postés lundi 7 juillet 2014Date d'inscription 18 novembre 2014 Dernière intervention - 7 juil. 2014 à 15:03 - Dernière réponse : Scrapel 32 Messages postés lundi 7 juillet 2014Date d'inscription 18 novembre 2014 Dernière intervention
- 7 juil. 2014 à 16:45
Bonjour !

Je retravaille un code source d'un vieux programme (écrit par quelqu'un d'autre !), mais il y a un problème à la compilation "Compile error : Variable uses an Automation type not supported in Visual Basic"
Et il surligne la ligne suivante :
"Public Declare Function CLSIDFromString Lib "ole32.dll" (ByVal lpszProgID As Any, pCLSID As GUID) As Long"

(Et après j'ai le même problème sur la ligne suivante : "Public Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnHandle As Long, IPic As IPicture) As Long")

Je débute en VB6 et je ne comprends pas cette erreur et comment y rémédier.

Merci de votre aide
Afficher la suite 

Votre réponse

3 réponses

Whismeril 12105 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 16 octobre 2018 Dernière intervention - 7 juil. 2014 à 15:57
0
Merci
Vérifie que ole32.dll est bien référencé dans ton projet.
Dans l'autre post, tu parlais d'un répertoire de système 64 bits, donc il est probable que tu n'aies pas cette dll sur ton PC.
Commenter la réponse de Whismeril
Scrapel 32 Messages postés lundi 7 juillet 2014Date d'inscription 18 novembre 2014 Dernière intervention - 7 juil. 2014 à 16:37
0
Merci
Merci pour ta réponse.
Ah oui, le problème vient sûrement de la référence.
La dll ole32.dll est bien dans C:\windows\sysWOW64 et elle est enregistrée (avec regsvr32) mais quand je vais dans référence, puis browse et que je la séléctionne dans sysWOW64, le message suivant apparait "Can't add a reference to the specified file". Alors que pour les autres dll il n'y a pas de problème.

En réalité le code source semble provenir du travail réalisé par yomm : http://codes-sources.commentcamarche.net/source/33733-yommexplorerocx-pour-ce-qui-veulent-un-vrai-explorateur-windows
j'ai donc dû avoir un problème en utilisant ces fichiers. L'utilisation de ole32.dll se fait dans Declaration.bas.
-Initialement je voulais juste ajouter une référence à l'ocx du yommexplorer mais cela ne marchait pas : "Name conflicts with existing module, poject or object library".
-Donc au lieu de référencer l'ocx, j'ai directement ajouté à mon projet les fichiers.bas du dossier modules et les fichiers .cls du dossier class modules et le fichier .ctl aux contrôles.

Mais dans tous les cas il y a un problème avec ole32.dll je pense car j'ai essayé d'ouvrir un nouveau projet et d'ajouter la référence à ole32.dll et cela ne fonctionne pas toujours le message "Can't add a reference to the specified file." .... J'ai essayé aussi de retélécharger ole32.dll et d'utiliser celui là mais le problème persiste.

Peut-être qu'il ne faut pas passer pas ole3.dll mais juste utiliser l'ocx YommExplorerOCX.ocx mais comme dit précédemment cela ne marche pas non plus ...'"name conflicts with existing module, ..."
Commenter la réponse de Scrapel
Scrapel 32 Messages postés lundi 7 juillet 2014Date d'inscription 18 novembre 2014 Dernière intervention - 7 juil. 2014 à 16:45
0
Merci
Ne vous prenez pas la tête. Je ne sais pas pourquoi, j'ai fermé le projet et je l'ai rouvert et ça marche. J'attends un peu avant de confirmer que le sujet est résolu mais on dirait que oui !!!!!!!!!!!!!
Ah ça fait plaisir, je vais enfin pouvoir commencer à améliorer le projet (pour l'instant je me contentais d'essayer de recompiler le fichier source d'origine...). Merci beaucoup !!!
Commenter la réponse de Scrapel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.