Loadlibrary toujours retourner la valeur NULL
HINSTANCE hinstLib=LoadLibrary("C:\\mydll.dll");
Je n'ai aucune idée de pourquoi je reçois toujours 0
en retour, après l'exécution de cette ligne de code.
En fait, j'ai aussi un autre COM dll à savoir mydllCOM.dll
que je me suis déjà inscrit avec succès avec regsvr32
de commande. Je voudrais utiliser le ci-dessus (mydll.dll)
dans mon application, mais échouent toujours, à la ligne comme indiqué.
Le code d'erreur que j'ai eu de GetLastError is 193
et je n'ai aucune idée, pourquoi il est sur le mauvais type de dll
quelle est la valeur de GetLastError ?
Merci j'ai mis à jour il
Êtes-vous sur 32-bits ou 64-bits?
Il est presque certainement en raison de ce que @FrédéricHamidi dit
Merci j'ai mis à jour il
Êtes-vous sur 32-bits ou 64-bits?
193
est ERROR_BAD_EXE_FORMAT
. Êtes-vous en train d'essayer de charger une version 32 bits de bibliothèque en 64-bit exécutable, ou l'inverse?Il est presque certainement en raison de ce que @FrédéricHamidi dit
OriginalL'auteur user3462253 | 2014-03-27
Vous devez vous connecter pour publier un commentaire.
Le code d'erreur dirait qu'il a le "mauvais nombre de bits", ce qui signifie que vous êtes probablement de mixage 32 bits et 64 bits des fichiers exécutables, Dll. Le paramètre dans les propriétés du Projet "de l'éditeur de liens->Avancé>ordinateur Cible" doit être réglé à la même valeur dans votre fichier DLL et le fichier exécutable de chargement de la DLL.
OriginalL'auteur the baconing
J'ai eu un problème similaire mais avec une dll qui n'était pas la mienne.
La solution a été de changer le jeu de Caractères(c'est à dire les propriétés du Projet->Propriétés de configuration->général>le jeu de Caractères).
La valeur par défaut a été unicode et quand je l'ai changé pour multi-Octets, j'ai réussi à charger la dll.
OriginalL'auteur TBD
Vous ne pouvez pas charger les Dll 32 bits en 64 bits, les applications et vice versa.
Vous devez recompiler votre
Application
etDll
avec la mêmeLinker->Advanced->Target Machine
réglage.OriginalL'auteur Abhineet