Question

HINSTANCE hinstLib=LoadLibrary("C:\\mydll.dll");

I have no idea why I always get 0 in return after running that line of code.

Actually I have also another COM dll namely mydllCOM.dll that I already registered successfully with regsvr32 command. I would like to use the above (mydll.dll) in my application but always fail at the line as mentioned.

The error code I got from GetLastError is 193 and I have no idea, why it is about the wrong type of dll

Était-ce utile?

La solution

The error code looks like it has the "wrong bitness", meaning you're probably mixing 32-bit and 64-bit executables/DLLs. The setting in the Project properties "Linker->Advanced->Target Machine" should be set to the same value in your DLL and in the executable loading that DLL.

Autres conseils

I had a similar problem but with a dll that wasn't mine. The solution was to change the Character set(i.e. Project properties->configuration Properties->general->Character set). The default was unicode and when I changed it to multi-Byte i managed to load the dll.

You can't load 32bit DLLs into 64bit applications and vice versa.

You need to recompile your Application and Dll with the same Linker->Advanced->Target Machine setting.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top