Page 1 sur 1

Appel d'une DLL par une autre ...

Publié : mer. 27/août/2008 15:10
par Kwai chang caine
Bonjour à tous

Voila je voudrais faire un appel de DLL "en cascade" (Terme que je viens d'apprendre de LIO :wink:)
C'est à dire appeller une DLL par une autre DLL

Comme j'ai besoin presque tout le temps de la 2e pour la 1ere, je me suis pensé que ce serait mieux d'ouvrir la 2e dans la procedure AttachProcess de la 1ere et la refermer dans la procedure DetachProcess de la 1ere

Ceci m'evite de l'ouvrir et la refermer dans chaque fonction de la DLL :D
Est-ce une bonne ou mauvaise idée ?? :roll:

Merci de votre aide
Bonne journée

Publié : mer. 27/août/2008 16:10
par Kwai chang caine
Apparement l'ouverture dans la procedure AttachProcess ne fonctionne pas :cry:
Je ne sais pas si c'est normal, ou moi qui est encore fait une glute :roll:

Publié : ven. 29/août/2008 18:10
par KarLKoX
Salut,
Evite de passer de DLL en DLL, fait un loadlibrary des DLL que tu as besoin dans ton programme, elle seront delay-loaded donc attaché à ton processus ;)

Publié : sam. 30/août/2008 18:10
par Kwai chang caine
D'accord, tu veux dire que si je charge toutes les DLL dans mon executable, toutes les fonctions de toutes les DLL seront accessibles :D
Et je pourrais en plus appeller une fonction d'une DLL dans une autre DLL sans avoir a charger la DLL appelée :D

Si j'ai bien compris, c'est cool 8)
Merci pour l'info

Publié : dim. 31/août/2008 11:16
par KarLKoX
Kwai chang caine a écrit :D'accord, tu veux dire que si je charge toutes les DLL dans mon executable, toutes les fonctions de toutes les DLL seront accessibles :D
Oui, c'est bien ça.
Kwai chang caine a écrit :Et je pourrais en plus appeller une fonction d'une DLL dans une autre DLL sans avoir a charger la DLL appelée :D
Mmmh la non par contre, je pense que c'est un problème de design, tu es vraiment obligé de faire une interdépendance entre les dll ?
Normalement, une DLL se suffit à elle même, le problème est la à mon avis.
Apres, tu peux tout comme depuis ton éxécutable, lire dynamiquement les fonctions depuis ta DLL vers l'autres mais bon, c'est pas très propre bien que ça se fait.