begin process at 2010 03 21 13:51:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Importation de fonction Dynamiquement ( LUA DLL )


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

Importation de fonction Dynamiquement ( LUA DLL )

dimanche 3 avril 2005 à 01:12:08 | Importation de fonction Dynamiquement ( LUA DLL )

Xilofeon

Bonsoir

Voila je cherche à intégré lua à mon application mais de maniére dynamique.
Les includes fourni permettre d'intégré lua de maniére static.

J'ai deja réussi à récupérer des fonctions mais je bloque sur une d'entre elle.

Bon en cherchant un peut sur le forum voila ce que j'ai fait :

Voici un exemple de 2 fonction fourni dans l'include de lua:

LUALIB_API int luaopen_base (lua_State *L);
LUALIB_API int luaopen_table (lua_State *L);

Voici ce que je fait :

int lua_luaopen_base(lua_State *L);
int lua_luaopen_table(lua_State *L);

typedef int (*LUA) (lua_State *L);

int ScriptManager::plugin_luaopen_base(lua_State *L) {
if (LUA_DLL) {
   LUA luaopen_base = (LUA)GetProcAddress(LUA_DLL, "luaopen_base");
   if (luaopen_base!=NULL) 
      return luaopen_base(L);
   
else
      erreur("luaopen_base(lua_State *L);");
}
return NULL;
}


LUA_DLL et la dll chargé. j'ai testé cette fonction fonctionne.
Par contre cette fonction à récupérer je n'y arrive pas. Voici ce que j'ai fait :

Fonction donné avec Lua dans l'include:

LUA_API lua_State *lua_open (void);

voici comment je fait et la sa coince :

lua_State
*plugin_Lua_open();
typedef
lua_State *(*LUA_OPEN) (void); //point B

lua_State
*ScriptManager::plugin_Lua_open() {
   
if (LUA_DLL) {
      
LUA_OPEN Lua_open = (LUA_OPEN)GetProcAddress(LUA_DLL, "*Lua_open");
      
if (Lua_open!=NULL)
         return Lua_open(); //point A
      
else
         
error("Lua_open();");
   }
   
return NULL;
}

Voila bon mm si la formulation n'est pas bonne pour return Lua_open();  //point A de toute fason l'application n'execute jamais cette ligne la fonction n'est pas trouvé.
à noté que tout sa est inclu dans une class. sauf ce typedef :

typedef struct lua_State lua_State;

j'espére avoir été clair et que vous comprenderé ce que je cherche.
Je pense que c'est au niveau de la ligne //point B que sa ne vas pas.

dimanche 3 avril 2005 à 01:14:53 | Re : Importation de fonction Dynamiquement ( LUA DLL )

Xilofeon

j'ai glisé une erreur:

LUA_OPEN Lua_open = (LUA_OPEN)GetProcAddress(LUA_DLL, "*Lua_open");

sa c'est mieu mais toujours pas ok

LUA_OPEN Lua_open = (LUA_OPEN)GetProcAddress(LUA_DLL, "Lua_open");
dimanche 3 avril 2005 à 14:19:48 | Re : Importation de fonction Dynamiquement ( LUA DLL )

Xilofeon

bon j'ai trouvé bizarement dans l'exportation de la DLL la fonction Lua_open();
pert son L majuscule.

Par contre nouveau problème. Si je met la version DEBUG de la Dll lua tout fonctionne, par contre si je compile la dll en release, alors la il trouve plus aucunne fonction.



Cette discussion est classée dans : dll, state, open, lua, luaopen


Répondre à ce message

Sujets en rapport avec ce message

gestion des exceptions dans Visual C++ 6 [ par devmail ] Bonjour a tous,je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souh Compiler un DLL depuis un fichier C ou C++ [ par JoGoiA ] Salut à tous.Je voudrais pouvoir utiliser des function C ou C++ (je ne sais pas trop lequel des deux mais je crois que c'est du C) qui sont contenue d Dll sous Linux et Windows [ par alexatique ] Bonjour,Voilà, j'arrive à réaliser des dlls sous windows à l'aide de visual studio.J'arrive également à faire un programme qui appelle cette dll.Mais E/S de dll [ par HeXa2 ] Bonjour à tous!Je suis en train de developper une dll en c++Mes fichiers sont H2BUSDLL.cpp et H2BUSDLL.hDans mon header, je déclare mes classes et dan Création DLL en mode Release [ par Argile92 ] Bonjour,Je developpe une application Excel qui utilise des fonctions C++ via une DLL.J'ai dans un premier temps fais ma DLL en mode DEBUG, aucun probl Un DLL qui lance un EXE .. aidez moi [ par belette321 ] Boujour,Voilla j'ai un  .EXE a lancer et la seul facons de le lancer pour pas qu'on ne puisse le contournez est de le lancer par un DLL mais voilla la f.open() avec string [ par Yannick465 ] Bonjour, comment peut-on utiliser la commande f.open() pour ouvrir un fichier dont le nom a été spécifié par l'utilisateur avec la commande cin >>  ?J Exporter Classe en DLL [ par victorcoasne ] Bonjour,J'ai exporté une classe en DLL.Je voudrais savoir si je suis obligé de déclarer les variables private dans la prédéclaration de classe pour de création dll a partir d'une source. [ par pierre001234 ] Bonjour, voici mon soucis:Je cherche a développer une application pour pocket pc utilisant la webcam. J'ai trouver une source c++ dans le sdk windows DLL C++ Introuvable dans Excel [ par Argile92 ] Bonjour,Je développe une application Excel faisant appel à des fonctions C++ via un DLL pour les longs calculs.Sur mon poste, où Visual Studio 2008 Pr


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,328 sec (3)

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