LoadLibrary -> Impossible de charger la librairie (builder C++ 6)

franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006 - 28 avril 2004 à 11:05
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006 - 28 avril 2004 à 13:54
Salut à tous !

Voila j'utilise builder C++ 6 et à l'aide d'un tuto j'ai recopié un hook de clavier pour pouvoir réalisé une patite appli.

Pour créer ce hook clavier il faut une DLL dont j'ai recopier le code.
J'ai compilé, et j'ai obtenu ma DLL => Project1.dll

Ensuite dans mon appli exe, j'ai chargé cette DLL avec "LoadLibrary" :

HINSTANCE hInst;
hinstDLL = LoadLibrary("Project1.dll"); // Chargement de la librairie
if (!hinstDLL) // Erreur lors du chargement de la librairie ?
Application->MessageBox("Impossible de charger la librairie.","gloups",MB_OK);

Sur mon PC tout marche à merveille....la DLL et l'exe sont dans le même repertoire.

Par contre des que je passe sur un autre PC j'ai mon jolie petit message => "Impossible de charger la librairie".

Si quelqu'un peut m'aider .....je galère pas mal là :sad)
Merci

13 réponses

lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
28 avril 2004 à 11:15
est ce que tu n'aurais pas plusieurs version de la library disponible sur ton pc

be linux
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 11:24
Je pense pas puisque je charge une DLL perso.
J'arrive à la charger sur mon PC, mais des que je passe sur un autre PC sur lequel aucun environnement de developpement n'est installé impossible de charger la DLL.

Pourtant je fais tjs de la même manière => l'exe et la DLL dans le meme repertoire.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 avril 2004 à 11:35
Verifie les dependances de exe et dll, doit venir de la.

ciao...
BruNews, Admin CS, MVP Visual C++
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 11:48
BruNews : Comment je peux verifier ces dépendances?
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 avril 2004 à 12:04
avec dependency walker, tu le trouves sur le net.
Si tu ne touves pas, tu me le dis.
Faudra le lancer une fois depends.exe, tu vas dans options->Configure extensions, et tu ajoutes DLL et EXE comme types.
Ensuite tu auras "dependances" dans le bouton droit de la souris sur ces 2 types de fichier.
Dans les dependances de TON exe et dll, ne doit pas y avoir de lib Borland sinon normal que ne se charge pas. Faut prog en win32 direct API pour enlever les dependances.

ciao...
BruNews, Admin CS, MVP Visual C++
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 12:35
J'ai bien trouvé dependency walker sur le net sur le site officiel...j'ai pris la dernière version.

options->Configure extensions, et tu ajoutes DLL et EXE comme types......OK

J'ai ouvert mon EXE et la je suis un peu perdu.

Sous mon exe dans l'arborescence j'ai 9 DLL principales:
+ ADVAPI32.DLL
+ KERNEL32.DLL
+ VERSION.DLL
+ COMCTL32.DLL
+ COMDGL32.DLL
+ GDI32.DLL
+ SHELL32.DLL
+ USER32.DLL
+ OLEAUT32.DLL

que faire à present???
J'ai lancé dependency walker sur le PC où le chargement de la DLL fonctionne bien....
Peut être il faudrait voir ce que ca donne sur mon autre PC où là par contre impossible de charger la DLL ?
Mais alors pourquoi ca marche bien sur un PC et pas sur l'autre????
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 avril 2004 à 12:46
Je pense que est juste faute de frappe:
COMDGL32.DLL <=> COMDLG32.DLL
Si oui alors tout est ok.

T'aurais pas une modif de currentdirectory par hasard avant le LoadLibrary ?

ciao...
BruNews, Admin CS, MVP Visual C++
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 13:22
Non j'ai pas de modif de CurrentDirectory...
Par contre je verifier les dependances de la DLL, et y a une dependance avec CC3260MT.DLL (librairie Borland) !!!

J'ai pris cette DLL que j'ai mis dans le repertoire system de mon autre PC et ca marche.

Par contre c pas normal que cette DLL possède une dépendance avec une DLL Borland.....enfin je pense.

En tous cas merci pour cette utilitaire BruNews... c'est vraiment pratique.
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 13:37
C bon ca marche !!!!
En fait à la création de ma DLL , il faut modifier quelques petit trucs dans les Options du Projet:

+ Projet>Options>Paquets> (décocher) Construire avec les Paquets d'exécutions.

+ Projet>Options>Lieur> (décocher) Utiliser la RTL dynamique.

La DLL fait une taille de 52ko au lieu de 8ko.

Et c bon ca marche maitenant sous l'autre PC environnement Windows98.
C cool!!! Merci encore BruNews !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 avril 2004 à 13:40
Enfin un developpeur heureux.

ciao...
BruNews, Admin CS, MVP Visual C++
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 13:49
MMM88&&&,
,MMM8&&&. `'MMM88&&&,
MMMMM88&&&& 'MMM88&&&,
MMMMM88&&&&&& 'MMM88&&&,
MMMMM88&&&&&& 'MMM88&&&
MMMMM88&&&&&& 'MMM88&&&
MMMMM88&&&& MMM88&&&
'MMM8&&&' MMMM888&&&& 'MM88&&&
MMMM88&&&&& MM88&&&
MMMM88&&&&& MM88&&&
,MMM8&&&. MM88&&&
MMMMM88&&&& ,MM88&&&
MMMMM88&&&&&& MMM88&&&'
MMMMM88&&&&&& MMM88&&&'
MMMMM88&&&&&& MMM88&&&'
MMMMM88&&&& MMM88&&&'
'MMM8&&&' MMM88&&&'
MMM88&&&'
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 13:53
oups dsl je me suis manqué...

..::''''::..
.;'' ``;.
:: :: :: ::
:: :: :: ::
:: .:' :: :: `:. ::
:: : : ::
:: `:. .:' ::
`;..``::::''..;'
``::,,,,::
0
franckies Messages postés 21 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 28 janvier 2006
28 avril 2004 à 13:54
Bon j'arrete avec les dessins en ascii ca me réussi pas on dirait !!!
Ciao ciao à tous.
0
Rejoignez-nous