µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

[RESOLU] L'appel des libs du master-shell

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide
Sujet précédent :: Sujet suivant  
Auteur Message
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Lun 26 Mar 2012 - 23:55    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

re-salut, 
voila... j'ai un souci ! 
Je cherche à faire un petit programme qui s'annonce plutôt bien, mais j'aurais souhaité, pour le menu, mettre deux ou trois boutons... 
Ayant sur mon linker : µlua 4.5 agrémenté du shell de Papymouge, 
je me suis dit qu'il serait bien commode d'appeler la lib 'luaWidget.lua' à partir de mon programme. 
Malheureusement, mon script se trouve dans "lua/scripts/xxx/xxx.lua" alors que luaWidget se trouve à "lua/libs/luaWidget.lua". 
et j'ai honte, mais je ne sais pas comment appeler cette lib que je convoite mais qui est si loin... quelqu'un aurait la solution ? 
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Dernière édition par thermo_nono le Mar 27 Mar 2012 - 15:57; édité 1 fois
Revenir en haut
Visiter le site web du posteur MSN
Publicité






MessagePosté le: Lun 26 Mar 2012 - 23:55    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mar 27 Mar 2012 - 00:18    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

oui tu appel gentillement de la sorte : require("luaWidget") Smile
par contre à la fin de ton script, pense à faire : 
luaWidget.del() 
package.loaded.luaWidget =nil
ou alors tu fait: dofile("/lua/libs/luaWidget.lua")
et à la fin tu met juste :luaWidget.del()


3:ieme option, tu fait:
dofile("/lua/libs/standard.lua")
libcharger = loadLib({"luaWidget"})
et à la fin du script
unloadLib(libcharger)
delStandard()


Dans loadlibs, tu peut mettre autant de lib que tu veut separer par des virgules. cette fonction fait un petit require sur la lib que tu veut
et inscrit dans une liste toutes celles qu'il a eu besoin de charger. cette liste est ensuite utilisee avec unloadLibs pour decharger
seulement celles que ton script a reelement charger. Car require ne charge qu'une fois les fichiers et si tu veut charger un fichier
qui est deja en memoire ben require le fera pas alors que dofile lui le fera. L'utilite ? ben si ton script est appele par un autre est que celui charge une librairie utilisee par le script apelant, quand il va la decharger, le script apelant sera perdu.
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Mar 27 Mar 2012 - 00:32    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

Merci (j'avais bien trouvé la méthode du dofile, mais j'avais une boucle sans fin un peu plus loin dans mon prog ^^ ) en tous cas merci, ça va me permettre d'utiliser le require à la place du dofile.
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mar 27 Mar 2012 - 10:31    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

En effet petite erreur à corriger :
La lib standard s’appelle avec un require("standard") et  non un dofile
sinon on la décharge de la même façon qu'indiqué avant avec l'appelle à : delStandard() , cette fonction se charge de vider le tableau package.loaded
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Mar 27 Mar 2012 - 15:21    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

et non. ça ne veux pas non plus.


mes trois premières lignes de code sont : 


 
Code:
dofile("lc2p/initech.lua")
require("standard") 
libcharger = loadLib({"luaWidget"})
 

et le résultat :


***ERRORS OCCURED***
XXX.lua:3: attempt to call global 'loadLib' (a nil value)
stack traceback:
>/lua/libs/libs.lua:322: in main chunk
>[C]: in function 'dofile'
>/lua/boot.lua:43: in main chunk
********************
Press START to continue
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mar 27 Mar 2012 - 15:28    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

ok donc il te dit qu'il ne connait pas cette fonction, que la variable loadLib = nil, a tu la dernière version du shell, si c'est pas le cas, voilà au moins un lien vers la bonne version de mes fonctions standard ici

Pour le shell c'est la
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Mar 27 Mar 2012 - 15:33    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

oops en effet je n'ai pas la dernière version du shell.. je suis encore avec ma version bidouillée. je vais installer ça tout de suite. merci est désolé.  Embarassed


edit : ça fonctionne bien ! merci beaucopup.. je me remet à mon prog...
Okay
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mar 27 Mar 2012 - 17:16    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

C'est rien, j'en fait plein des erreurs moi aussi, vivement la fin de ce script que l'on découvre avec joie ce que c'est Wink
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Mer 28 Mar 2012 - 02:10    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

Salut, 
j'ai un souci avec l'utilisation des boutons.. je souhaite mettre deux boutons dans mon prog afin de choisir qui sera client et qui sera serveur.. malheureusement j'ai des soucis à piger comment on fait.. voici le bout de code concerné : 
 
Code:
voir + bas ^^




ce n'est manifestement pas la bonne méthode puisque ça ne capte pas les clics..


edit: 
j'avais oublié deux trucs, mais ça ne veux toujours pas valider mon choix. 
nouveau code : 
 
Code:
-- création du formulaire :
menu01 = luaWidget.newWidget(SCREEN_DOWN)
bt01 = luaWidget.newObj(menu01,TBUTTON,50,50,150,50,"Ouvrir partie",_ACENTER)
bt02 = luaWidget.newObj(menu01,TBUTTON,50,110,150,50,"Rejoindre partie",_ACENTER)


-- vérifier si un bouton est cliqué
cl_srv = 0
while cl_srv == 0 do
  Controls.read()
  if luaWidget.held(menu01) then
    if(luaWidget.get(menu01,bt01,"check")) then   --serveur
--
      luaWidget.set(menu01,bt01,"check",false)   
      cl_srv = 1 
    elseif(luaWidget.get(menu01,bt02,"check")) then  --client
--
      luaWidget.set(menu01,bt02,"check",false)
      cl_srv = 2
    end
  end
  luaWidget.show(menu01)
  render()
end





_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mer 28 Mar 2012 - 07:48    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

En fait luaWidget.held() ne retourne rien donc il rentre jamais dans ton if, le mieux serais de le faire en deux ligne.


 
Code:

  luaWidget.held(menu01)
  if(Stylus.newPress) then 



Ton idée n'est pas mauvaise , je vais rajouter le fait que held retourne true si un appuis sur un objet à été détecté.
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Mer 28 Mar 2012 - 10:47    Sujet du message: [RESOLU] L'appel des libs du master-shell Répondre en citant

encore une fois, merci. 
Okay Mr. Green Okay
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 08:53    Sujet du message: [RESOLU] L'appel des libs du master-shell

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com