Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1561 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Builder C++ 6] Utilisation dynamique d'une DLL [résolu...]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Builder C++ 6] Utilisation dynamique d'une DLL [résolu...]

n°1117566
kaloskagat​os
Posté le 12-06-2005 à 20:24:34  profilanswer
 

Bonjour à tous :hello:  
 
J'ai un problème dans l'utilisation dynamique d'une dll. Voici l'architecture de mon logiciel:
 
1) launcher.exe utilise platform.dll de manière statique
 
2) platform.dll utilise plugin.dll de manière dynamique
 
3) plugin.dll utilise plateform.dll de manière statique
         et utilise technic.dll de manière dynamique
HINSTANCE hinstDLL;
hinstDLL=LoadLibrary("technic.dll" ))) ;
 
4) technic.dll utilise plateform.dll de manière statique
 
 
Le problème, c'est que quand je lance mon appli, en 3) LoadLibrary retourne NULL... Si en 4) je ne lie pas plateform.dll (donc j'enlève tout include y faisant référence et je vire la lib du makefile) alors dans ce cas j'arrive bien à charger ma dll.
 
Est-ce que c'est parce que platform.dll est utilisée à différents endroit que son chargement échoue en 3) ?
 
Je ne vois pas de solution :/


Message édité par kaloskagatos le 13-06-2005 à 18:29:07

---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
mood
Publicité
Posté le 12-06-2005 à 20:24:34  profilanswer
 

n°1117608
kaloskagat​os
Posté le 12-06-2005 à 21:17:07  profilanswer
 

ai-je été assez clair? Si vous voulez des précisions je peux ptet réxpliquer qqc


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
n°1117615
Taz
bisounours-codeur
Posté le 12-06-2005 à 21:24:26  profilanswer
 

tu me dégoutes va.

n°1117636
kaloskagat​os
Posté le 12-06-2005 à 22:16:29  profilanswer
 

j'ai pas le choix.


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
n°1117640
Taz
bisounours-codeur
Posté le 12-06-2005 à 22:24:57  profilanswer
 

Plus facile, plus séduisant est le côté obscur.

n°1117653
kaloskagat​os
Posté le 12-06-2005 à 22:38:21  profilanswer
 

Luke, aide-moi


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
n°1117676
Taz
bisounours-codeur
Posté le 12-06-2005 à 23:05:42  profilanswer
 

je voudrais bien, mais déjà que j'ai du mal à comprendre comment on peut utiliser une dll statiquement :o

n°1117705
Tarabiscot​e
Posté le 12-06-2005 à 23:41:25  profilanswer
 

Taz : Je pense qu'il parle d'utiliser une librairie d'import (pour le statique) ou LoadLibrary (pour le dynamique).
 
Moi, je ne comprends pas comment tu t’es débrouillé pour que toutes tes dll aient besoin les unes des autres, c’est un vrai sac de nœud.

n°1117720
kaloskagat​os
Posté le 13-06-2005 à 00:02:19  profilanswer
 

Effectivement platform.dll est toujours utilisée en bibliothèque d'import, je chercherai donc de ce côté. Ce n'est pas moi qui suis à l'origine de cette archi, c'est un  gros projet que je commence, chaque programme fonctionne comme un plugin qui lui même contient des plugins...


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
n°1117737
Tarabiscot​e
Posté le 13-06-2005 à 00:11:07  profilanswer
 

Je veux bien que tu mettes tes fonctions/objets/etc dans des dll, je veux bien que tu ais envie de les réutiliser dans d’autres programmes/dll.
Mais ce que j’ai du mal à comprendre c’est pourquoi tu modifies tes anciennes dll en leur disant qu’elles ont besoin des nouvelles.
A ce compte la pourquoi ne pas faire à la place une seule dll qui les remplacerait ?

mood
Publicité
Posté le 13-06-2005 à 00:11:07  profilanswer
 

n°1117749
kaloskagat​os
Posté le 13-06-2005 à 00:19:26  profilanswer
 

Tarabiscote a écrit :

Je veux bien que tu mettes tes fonctions/objets/etc dans des dll, je veux bien que tu ais envie de les réutiliser dans d’autres programmes/dll.
Mais ce que j’ai du mal à comprendre c’est pourquoi tu modifies tes anciennes dll en leur disant qu’elles ont besoin des nouvelles.
A ce compte la pourquoi ne pas faire à la place une seule dll qui les remplacerait ?


 
Je suis pas sûr de comprendre cette phrase :/
 
Une plateforme fournit divers services (création de fenêtre, affichage d'images, gestion de formats de fichiers, lancement des plugins,...) -> un exe minimal et une dll
 
Un plugin utilise ces services, et a lui même des plugins, les "techniques" qui sont en fait différents traitements d'image.  
 
Donc j'ai bien besoin de toutes ces dll. Ce que je n'ai pas essayé c'est d'utiliser platform.dll dynamiquement, j'ai zappé cette idée étant en phase de développement et n'étant pas très familier de builder (spéciale kassdédie à Taz)


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
n°1118253
Tarabiscot​e
Posté le 13-06-2005 à 13:11:36  profilanswer
 

En fait j'essayai seulement de comprendre comment tu en étais arrivé là et ce que tu cherchais à faire exactement.
 
Je ne vois pas pourquoi tu ne passes pas plutôt en paramètre ce dont tu as besoin dans l'autre dll.
 
Autrement tu peux aussi nous montrer le bout de code où tu utilises LoadLibrary.


Message édité par Tarabiscote le 13-06-2005 à 13:11:58
n°1118662
kaloskagat​os
Posté le 13-06-2005 à 18:28:56  profilanswer
 

Bon, je vous prie de m'excuser car ce n'est pas très constructif mais le problème est résolu et je ne sais pas ce qui clochait: j'ai tout revérifié et au final ça marche. Donc je devais faire une bêtise...
 
Je n'ai pas le net au boulot c'est pourquoi je n'ai pas posté dans la journée. Merci de vous être penché sur mon cas :)


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Builder C++ 6] Utilisation dynamique d'une DLL [résolu...]

 

Sujets relatifs
Javascript dynamiqueComment envoyer un pdf dynamique en piece jointe sans créer le fichier
DSP TI6000 et Builder C++[ VB6 ] Problème de doublons [ résolu ]
Garder un login d'une session à l'autre? (résolu)[résolu]Connaître la RAM disponible
lancer un fichier sous builder c++[VBS][resolu] Lancer .BAT avec argument ?
[SQL Server] Utilisation de xp_sendmail[C] - utilisation de chroot() (unistd.h)
Plus de sujets relatifs à : [Builder C++ 6] Utilisation dynamique d'une DLL [résolu...]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR