bonjour,
sous Visual C++ j'ai �crit un petit programme en C++ qui permet d'acc�der � un port parall�le en utilisant une DLL inpout32.dll :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
HINSTANCE hLib;
hLib = LoadLibrary( "inpout32.dll" );
if (hLib==NULL)
{
std::cout << "ko";
Sleep(1000);
return 1;
}
std::cout << "ok";
Sleep(1000);
FreeLibrary(hLib); |
Ce programme fonctionne tr�s bien � condition de mettre la DLL en question dans le m�me dossier que l'ex�cutable. Je l'ai compil� en 32 bits et avec le jeu de caract�res multioctets MCBS. Pas de souci donc avec ceci.
Maintenant j'essaye d'impl�menter ce bout de code dans une DLL 32 bits mais compil�e avec le jeu de caract�res UNICODE :
1 2 3 4 5 6 7 8 9 10 11 12
|
hLib = LoadLibraryA("inpout32.dll");
if (hLib == NULL)
{
cout << "ko";
}
else
{
cout << "ok";
FreeLibrary(hLib);
} |
j'ai utilis� la fonction LoadLibraryA() car je suis en UNICODE. Cela compile mais m�me si je mets inpout32.dll dans le m�me dossier que la DLL g�n�r�e, inpout32.dll n'est pas trouv�e.
J'ai �galement utilis� cette syntaxe
LoadLibrary( _T("inpout32.dll") );
mais le probl�me persiste.
O� est mon erreur ? Je pense avoir oubli� une directive de compilation, mais j'ignore laquelle.
Partager