Page 1 sur 1

Bug agressif ! (dans procédure)

Publié : dim. 13/nov./2005 18:10
par jerexgrz
Je viens de rencontrer Ouno Bugginous Agressif ! :lol:

En faite, j'ai ouvert comme d'hab mon prog,j'ai refermer toutes les procedures à l'aide de la combinaison magique CTRL + F4, et j'ai tout simplement effacé une procedure(le petit + à coté) qui contenait quelques lignes de codes ! Ensuite, j'ai enregistré et testé comme d'hab le prog avec F5 !

Et la, le bugginous du Far West du prog attaque ! :twisted:
Il dit : "il n'y a pas de endprocedure avec procedure ligne 520"
Je verifie calmement ! Pourtant, le code est correct, rien d'oublier !
(j'ajoute meme des endprocedures, ... mais il attaque toujours ! il abondonne pas celui la !!! c un dur à cuire, à programmer plutot)
J'affiche les vieux n° de lignes, et ...

et ...

et ...

Ben, y'a pas de ligne 520 ! saoul:

Alors je ne peux plus executer le prog. car il affiche toujours la meme chose !

Publié : dim. 13/nov./2005 19:35
par jerexgrz
Tiens aussi, il serait interessant que le fait d'appuyer sur la touche A (Q) soit effectivement reconnu par le prog, car il doit etre configurer en clavier americain !

Autre chose :

Code : Tout sélectionner

...
for compte = 1 to Max
...
if z=10
max = max + 1 
endif
next compte

for mask = 1 to max
...
next mask
Le fait d'utiliser une variable que l'on modifie un peu comme l'usage d'1 "repeat ... until" n'est pas cool ! Ca provoque des erreurs sans bloquer l'ordi ! Meme pour verifier des valeurs au niveau des variables !

Aussi, j'ai l'impression que PB ne detruit pas les variables Max d'une boucle à l'autre, comme dans l'exemple, avec Max reprit dans la boucle Mask, ca bug un peu !

Publié : dim. 13/nov./2005 19:49
par Chris
Je ne sais pas si ça vient de moi, (c'est possible), mais c'est complètement incompréhensible ce que tu racontes.

Quand tu postes un rapport de bug, essaie au moins de mettre un bout de code exploitable.

J'imagine que Fred à autre chose à faire que de passer une heure à essayer de comprendre ce que tu as voulu dire, avant de corriger le bug. (Si le bug existe !)

Publié : dim. 13/nov./2005 19:49
par Anonyme2
Dans ton exemple, si Max est une variable globale, PB n'y touche et c'est normal

si c'est une variable locale, chaque fois que l'on sort de la procédure ou est déclarée la variable, celle-ci "disparaît" et chaque fois que l'on entre dans la procédure, PB initialise toutes les variables locales à 0, donc si Max est local, PB la remet à 0 chaque fois qu'il entre dans la procédure ou elle est déclarée.

Publié : dim. 13/nov./2005 20:58
par comtois
pour le clavier , il faut utiliser
KeyboardMode()

Publié : lun. 14/nov./2005 11:05
par jerexgrz
merci pour l'info sur le clavier !

dans la boucle, la variable Max est seulement déclarée comme ca:
for compte = 1 to Max => il n'y a rien d'autre !

Concernant le bug de la procedure, si on l'efface lorsque elle est repliée c'est à dire qu'il y a le petit + à coté, toute la procedure est effacée à l'ecran mais pas dans le prog ! Voila ! C clair comme dans le 1er post (j'ai expliqué toutes les manips pour retomber sur le bug !)

Publié : lun. 14/nov./2005 15:03
par Anonyme2
connais-tu la différence entre une variable globale et locale ?

Si non, relis la doc c'est important

Publié : lun. 14/nov./2005 15:14
par Frenchy Pilou
Peut-être peux-tu copier (Ctrl +A, Ctrl+C) ce qui est "à l'écran" et le coller dans un nouveau projet ?

Publié : mer. 23/nov./2005 13:53
par jerexgrz
Concernant le bug de la procedure, il a completement explosé le fichier (je ne peux + du tout l'executer, meme apres un charger,sauvegarder, ...).

J'ai effectivement fait un copier / coller de lignes de codes dans un autre fichier. Et voila, du coup ca remarche comme avant !