begin process at 2012 05 29 11:07:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Dll LoadLibrary --> Erreur


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

Dll LoadLibrary --> Erreur

mercredi 24 mars 2004 à 04:37:14 | Dll LoadLibrary --> Erreur

mortiis


Bonjour à tous

J'ai fait un prog qui devrais utiliser une dll pour faire un test j'ai fait un dll qui me fait afficher un MessageBox.

Le problème est que quand j'apelle la fonction LoadLibrary
elle me retourne toujours NULL.

Il me semble faire tous ce qu'il faut, mais rien à faire, le retour est toujours NULL.

Merci de votre aide et pour votre temps.

Voici mon code :


/****************/
//Le code du dll//
/****************/
#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}


extern "C" __declspec(dllexport) bool lMain(int nNbParam,char** pParam)
{
if(nNbParam != 2)
return false;
MessageBox(NULL,pParam[0],pParam[1],MB_OK);
return true;
}

/***************************/
//Le code dans mon prog.exe//
/***************************/
HMODULE hLoadLib = LoadLibrary("msg.dll");
if(hLoadLib == NULL)
{
MessageBox(NULL,"Erreur de chargement du dll","LoadDllError",MB_OK);
return NULL;
}

typedef char* (*LMAIN)(int,char**);
LMAIN lmain = (LMAIN)GetProcAddress(hLoadLib,"lMain");
if(lmain == NULL)
{
MessageBox(NULL,"Erreur fnct","LoadFnctError",MB_OK);
return NULL;
}

lmain(nNbParam,pParam);
FreeLibrary(hLoadLib);


Merci de votre aide et pour votre temps.
mercredi 24 mars 2004 à 04:52:10 | Re : Dll LoadLibrary --> Erreur

mortiis


Bonjour à tous

Désolé j'ai fait une erreur dans la retranscription de mon code
La ligne :

typedef char* (*LMAIN)(int,char**);

devrait ëtre :

typedef bool (*LMAIN)(int,char**);
mercredi 24 mars 2004 à 09:14:11 | Re : Dll LoadLibrary --> Erreur

BruNews

Administrateur CodeS-SourceS
Mets le chemin complet pour tester, tu sauras si vient de cela:
hLoadLib = LoadLibrary("D:\\msg.dll"); par exemple

ciao...
BruNews, Admin CS, MVP Visual C++
mercredi 24 mars 2004 à 22:49:46 | Re : Dll LoadLibrary --> Erreur

mortiis


Bonjour à tous

Merci beaucoup cela fonctionne.

mais j'ai créé une autre lib et pour la charger avec LoadLibrairy, je n'ai inscrit que le chemin relatif et non le path complet et cela a fonctionné.

Alors je me demande pourquoi cela fonctionne avec cette dll et non avec la dll msg.dll , pourtant je les ai créé de la même façon.

J'aimerais pouvoir spécifier le chemin relatif plutot que le path complet, cela éviterais de modifier le code chaque fois que l'on change de partition ou d'ordinateur qui aurait des lettres de lecteur logique différent.
mercredi 24 mars 2004 à 23:58:39 | Re : Dll LoadLibrary --> Erreur

BruNews

Administrateur CodeS-SourceS
Bien entendu avec LoadLibrary on ne met que le nom de la dll en general, pour cela tu installes la dll soit dans un dossier connu dans les variables d'environnement soit le plus simple dans le dossier de exe. Assure ta currentDirectory par un SetCurrentDirectory la ou tu te trouves avant appel de LoadLibrary.

ciao...
BruNews, Admin CS, MVP Visual C++
jeudi 25 mars 2004 à 04:49:38 | Re : Dll LoadLibrary --> Erreur

mortiis


Bonjour à tous

Merci pour le truc de SetCurrentDirectory

Ce que je fait c'est que mes dll sont dans un autre répertoire
et je fait un SetCurrentDirectory au début de l'exécution de mon prog et avec un GetCurrentDirectory et un peut de manipulation de chaine, je retrouve le path exact d'o:u est le dll que j'ai de besoin.

cela fonctionne bien

Encore merci pour ton aide.


Cette discussion est classée dans : code, dll, return, loadlibrary, lmain


Répondre à ce message

Sujets en rapport avec ce message

Chargement DLL [ par alcolow ] Bonjour, Actuellement pour un stage, je développe une application Windows Mobile 6.X en c++ sous VS2008 dans laquelle j'ai besoin de charger une DLL. Code::Block DLL pour l'utiliser dans VB [ par runo ] Bonjour, je souhaite créer une DLL en C (ou C++) avec Code::Block que j'utiliserai ensuite sous VB (en fait excel 2003)... Je crée donc mon projet DL appeler une fonction c++ contenu dans dll avec de code c++ [ par avg ] j'ai une fonction qui est sous une class dans un dll déclarer comme ce ci : [code=cpp]C_MORPHO_User::C_MORPHO_User()[/code] j'ai appeler dll avec Load Passage de méthodes en paramètre [ par Adel85 ] Bonjour, J'ai récupéré un code écrit en c++ (http://cubature-research-group.cs.latrobe.edu.au/code.htm) pour le calcul des intégrale double. Si j'uti Conversion code [ par jeanphilippe37 ] [u]Bonjour[/u], Voila, j'ai réalisé ce programme en C++ mais, je dois le rendre en langage C et j'ai bcp de mal à faire la traduction. Pourriez vous .dll [ par dhahrikhedher ] comment ajouté un dll[code=cpp][/code]avec visual studio Impossible d'obtenir l'adresse d'une function contenus dans une DLL [ par Nementon ] Bonjours, Voila le code simple d'une DLL et de son exécutable, compilé sous Visual 2008 et qui pour de sombres raisons plante lamentablement, lorsqu utiliser un code C sous Matlab (Linux) [ par piboue ] Bonjour, je souhaite utiliser un code C sous matlab comme une fonction classique (input/ouput). A l'origine, ce code a été compiler (je sais pas si c' utilisé string dans une dll c++ [ par avg ] Bonjour à tous j'ai un problème avec la création d'une dll avec c++ pour créer les fonctions à exporté de dll si son type de retour est int ou void le créer une dll (appel de deux procédures) [ par vincenzo89 ] Bonjourje débute en C++, sous code block.J'ai un code qui est composé de 3 procédures.Je voudrais créer une dll avec ces procédures (dont une avec des


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 3,011 sec (4)

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