Goto et Select

Archive.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Goto et Select

Message par LavaLava »

Code : Tout sélectionner

Procedure Test()
  A$ = "le texte"
  D = 1
  Debut:
  B$ = A$
  C = MessageRequester("Test","Voulez vous recommencer ?",#PB_MessageRequester_YesNo)
;  If C = 6 : Goto Debut : EndIf
  Select C
  Case 6
    Goto Debut
  EndSelect
EndProcedure
  Test()
j'ai résumé ce bug (si cela en est un) dans ce petit exemple.
en fait j'ai l'impression que faire un goto dans un select perturbe PB.

Si on clique 'oui' au requester, pb plante et me dit 'invalid acces memory' ...
Si j'utilise If à la place de Select cela fonctionne !
Je n'ai pas trouvé de restriction pour l'utilisation de goto avec select ...[/code]
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Oui, il y aurait bien comme un problème :?

Et si tu mets A$ en Static, quand tu cliques sur "Oui", ça fonctionne, puis si tu cliques ensuite sur "Non", ça plante : "Invalid access memory"

Etrange ! 8O
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

Effectivement, j'avais vu qu'avec Protected, Static ou simplement en initialisant B$=0 en debut de procedure, cela decale l'erreur à la sortie de procedure.
Mais l'erreur était plus évidente comme cela !
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Effectivement, il y a un probleme de decalage de pile, car Select mets le resultat intermediaire sur la pile. Si tu fais un goto brutal (qui est juste un saut pure et simple), la pile n'est pas ajusté et ca crash. Je vais rajouter une mention dans l'aide, car c'est pas évident a premiere vue.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Pour moi je pense que supprimer les goto serait un plus
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

C'est une espèce protégée! :evil:
On en voit déjà plus beaucoup...
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Répondre