Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » [Astuce] Problème lors du retour dans un add-in
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

[Astuce] Problème lors du retour dans un add-in

Posté le 02/05/2012 20:44

Je met ici mon post qui vient du topic PRGM2 v1.5

"En réponse à la question posée:
Ne0tux a écrit :

Pour l'instant, la solution que j'ai trouvée est de sortir de PRGM2, de lancer n'importe quel add-in ou fonction native de la calto, de revenir su PRGM2 et là, les fonctions sont revenues. Mais c'est quand même long, d'autant plus que PRGM2 est tout en bas de la liste, et que les touches de raccourci sont déjà toutes prises...


J'ai enfin trouvé pourquoi cela arrivait:

imaginons un programme simple:

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    
    Bdisp_AllClr_DDVRAM();
    
    fonctionBidon();
    
     [red]while(1){  
    GetKey(&key);
} [/red]
    
    return 1;
}


Arrivé à la fin de la fonction fonctionBidon(), le programme va entrer dans la boucle en rouge. Une pression sur la touche MENU va nous envoyer sur le menu, vu que GetKey() a cette propriété.
Ensuite, nous savons qu'un programme ne s’arrête pas totalement tant qu'un autre n'a pas été lancé => en revenant sur l'add-in, on est toujours dans cette boucle infinie !

Du coup, j'ai trouvé (sans le faire exprès) une alternative:

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    
    Bdisp_AllClr_DDVRAM();
    
    while(1)
    {
        fonctionBidon();

        GetKey(&key);  [green]// utilisation du GetKey pour revenir au menu[/green]
    }

    return 1;
}


Ainsi, quoi qu'il arrive, si nous revenons sur l'add-in sans en avoir lancé un, la boucle fait que nous reprenons les fonctions comme si on lançai l'add-in pour la première fois.


En espérant que ces explications vous soient utiles


Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 02/05/2012 21:06 | #


Ça n'a aucun rapport avec PRGM2, et le fonctionnement de GetKey est décrit dans la doc. Ça n'a rien d'un scoop.
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 02/05/2012 22:20 | #


je sais très bien que ça n'a rien à voir avec PRGM2...
C'est juste que je pensait utile de mettre à la disposition de tous une remarque que certains n'avaient pas remarqué...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 03/05/2012 21:11 | #


C'est pour ça que je n'utilise pas la fonction getKey() pour faire sortir. Cf souris et starwars, pas un seul bug de ce genre !
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 03/05/2012 21:58 | #


Un de nous deux a mal compris.
Je t'explique mon point de vue, tu me dira si c'est à ça que tu pensais
Dans star wars (c'est le seul que j'ai sur ma calto) à la fin d'une partie, tu demande si tu veut rejouer ou non. Si tu quittes, tu ne peut plus revenir directement sur le jeu, sans lancer une autre appli avant.
C'est ce que permet d'éviter ma boucle
Tu es toujours dans le programme quoi qu'il arrive
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 04/05/2012 18:57 | #


Ta boucle effectue un reboot quand on lance une autre application.
Et puis quad on quitte un jeu c'est qu'on veut le quitter, pas y rejouer direct
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 04/05/2012 19:13 | #


pas forcement... Il m'arrive de quitter un jeu car un prof arrive derrière moi, et je n'ai pas forcement envie de relancer...
Mais ce doit être une question d'habitudes.

Pour le reboot, je ne vois pas en quoi ça en fait un...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 05/05/2012 10:11 | #


Le mieux en cours c'est les progs où tu peux mettre en pause et éteindre comme Run ou Orton
Dark storm En ligne Labélisateur Points: 11538 Défis: 176 Message

Citer : Posté le 05/05/2012 10:58 | #


c'est ce que je compte faire
Finir est souvent bien plus difficile que commencer. — Jack Beauregard

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 37 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd