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

Signaler
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006
-
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006
-
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

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

be linux
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

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.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Verifie les dependances de exe et dll, doit venir de la.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

BruNews : Comment je peux verifier ces dépendances?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
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++
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

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????
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
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++
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

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.
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

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 !
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Enfin un developpeur heureux.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

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&&&'
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

oups dsl je me suis manqué...

..::''''::..
.;'' ``;.
:: :: :: ::
:: :: :: ::
:: .:' :: :: `:. ::
:: : : ::
:: `:. .:' ::
`;..``::::''..;'
``::,,,,::
Messages postés
21
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
28 janvier 2006

Bon j'arrete avec les dessins en ascii ca me réussi pas on dirait !!!
Ciao ciao à tous.