begin process at 2010 02 10 02:13:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

DLL non requis ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DLL non requis ?

mardi 29 mars 2005 à 14:25:40 | DLL non requis ?

Xilofeon

Bonjour.

Je ne s'ai pas si cela est possible:

je cherche à raliser une DLL. (enfin sa c'est fait) Mais celle si est obligatoire pour que mon programme ce lance.

Ce que je voudrait faire c'est que si la DLL n'est pas présente, le programme puisse ce lancer quand même sans utiliser la class qui utilise des fonctions de la DLL.

Le DLL serait en faite comme un plugin.
++
mardi 29 mars 2005 à 15:13:25 | Re : DLL non requis ?

ymca2003

Il suffit de ne pas lier la dll lors de l'édition de lien (sans utiliser le header ou le .lib). dans le prog, il suffit de faire un LoadLibrary sur la dll et vérifer sa présence.

Si oui, il ne reste plus qu'à charger les fonctions de la dll avec getProcAddress. Il est cependant nécessaire de faire des typedef pour avoir le prototype des fonctions.

Maintenant si ta dll exporte des classes je ne sais pas si c'est faisable car les noms des fonctions exportées sont alors + compliqués (transformés pour ajouter le nom de la classe et les paramètres).
mardi 29 mars 2005 à 17:35:11 | Re : DLL non requis ?

Xilofeon

Vi c'est sa le probléme le .lib et obligatoire sinon lors du linkage sa tilte.

Je vais tenter de faire le prototype des fonctions ainsi j'aurait pu besoin du .lib.

Euh y'a des trucs spécial que je doit savoir pour faire les prototypes ? (Spécial DLL )
1er fois que je fait un prog avec DLL et je suis pas un As non plus alors je ne sait pas tout .

Bon en tout cas merci je vois vers quoi je doit me diriger toujours...
mardi 29 mars 2005 à 17:45:45 | Re : DLL non requis ?

ymca2003

Imaginons que ta dll exporte cette fonction :

int __stdcall MyDllfct(void* p, int len);

1 - La manière la plus simple ed l'utiliser, c'est de déclarer cette fct dans un .h, inclu à la fois par le prog et la dll mais l'un l'aura en export et l'autre en importe. Pour que le linker ne "tilte" pas tu fournis un .lib qui dir que la fct est dans une dll. Cette méthode oblige la dll à être chargée au démarrage du prog sinon erreur windows.

2 - tu peux également charger la dll et la fct au runtime :

// chargemment dll
HINSTANCE hinst = LoadLibrary(MyDll.dll);

// typedef sur la fonction.
typedef int (__stdcall *PFN_MYDLLFCT)(void* int);

// chargement de la fct :
PFN_MYDLLFCT pfnMyDllFct = (PFN_MYDLLFCT)GetProcAddress(hinst, "MyDllfct");

// utilisation de la fct :
int result = pfnMyDllFct(NULL, 0);

En faisant comme cela, tu peux tester la présence de la dll et de la fonction et agir en conséquence.

mardi 29 mars 2005 à 18:02:31 | Re : DLL non requis ?

Xilofeon

bon bas voila c'est la méthode 2 que je veut. Merci

Plus compliqué mais je vais tanté de me débrouillé avec sa et trouvé un peut de doc...


Cette discussion est classée dans : programme, dll, requis


Répondre à ce message

Sujets en rapport avec ce message

problème de lib et de dll... [ par Raoul12 ] je programme sous vc++6 et j'aimerais savoir s'il est possible de faire appel à une dll externe à un programme principal sans avoir à recompiler le pr C++ && DLL ==> CGI [ par amosc ] salut cppfrance.comVoila j ai un programme en c++ qui appel une DLL, ce programme pilote un lecteur carte a puce, je voulai l incorporer dans une pag MFC42D.DLL [ par oRTEEZ ] Bonjour a tous, Voila j'ai cree un programme sous VC++ 6.0 en utilisant les MFC. Il marche tres bien.Mais lorsque je veux faire fonctionner le progra DLL et fichier de VCL [ par Siriusgalaxie26 ] SiriusJ'ai un problème de débutant : Dès qu je compile un programme avec Broland C++ Builder, Ce programme marche sur mon ordi, mais pas sur un autre. DLL [ par amosc ] Je dois faire un programme (visual c++) avec les DLL d un lecteur carte a puce, et je ne sais pas comment faire pouvez vous m aider a inclure les DLL Question DLL [ par LordBob ] Bonjours a tous,en fait je voudrais juste savoir s'il été possible d'utiliser une DLL aussi bien avec un programme fonctionnant en mode console qu'un SVP - ULTRA URGENT - Prob Distribution prog Win98 [ par marcel6566 ] Bonjour,J'ai créé un programme d'aide à la lecture pour 4 classes de CP dans une école primaire. Mon programme est réalisé sous XP avec VC++ version 6 pb de lecture de fichier avec une DLL [ par loic81 ] J'ai fait un programme en C sous vc++6 qui lit un dans un fichier (en trottre) en utilsant la méthode des streams (fonction fread...).Lorsque je le c Utilisation d'une dll compilée dans un programme C [ par Cako19 ] Bonjour, Je souhaite utiliser une fonction présente dans une dll compilée qu'on m'a fournie. Comment puis-je faire en sorte que le programme dans lequ DLL et allocation mémoire [ par Bebert37 ] Bonjour à tous,J'ai un petit problème de désallocation mémoire avec une DLL.Une Dll alloue de la mémoire pour une programme tièrce, lorsque ce progra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales