Page 1 sur 1
[v4 beta 5] lof() ou autre chose [Corrigé]
Publié : mar. 14/févr./2006 14:39
par olivier
Je n'arrive pas à faire un code simple qui pose problème. Mais lors d'un appel à lof(), il arrive que mes variables changes de valeur.
Dans un code de se style là il m'arrive de ne pas avoir la même valeur pour i
Code : Tout sélectionner
openfile(0,"c:\ess.txt")
repeat
debug readstring(0)
debug i
until loc(0)=lof(0)
debug i
closefile(0)
Je m'en sort en faisant :
Code : Tout sélectionner
openfile(0,"c:\ess.txt")
fin=lof(0)
repeat
debug readstring(0)
debug i
until loc(0)=fin
debug i
closefile(0)
Dés que j'ai un code simple qui plante je l'envoie.
Publié : mar. 14/févr./2006 18:51
par CameleonTH
Euh moi j'ai essayer ton code et je n'ai pas eu de probléme.
Publié : mar. 14/févr./2006 19:53
par Flype
Et en programmant ta boucle de lecture comme çà, as-tu toujours des problèmes ?
Code : Tout sélectionner
If ReadFile(0,Fichier)
While Not Eof(0)
Debug ReadString(0)
Wend
CloseFile(0)
EndIf
Publié : mer. 15/févr./2006 7:48
par olivier
@cameleonTH
Ben non ce code ne bug pas, j'ai écris que je n'avais pas réussi à l'isoler (à avoir un programme suffisament simple pour le poster).
@Flype
Le but n'est pas de contourner le bug mais de le trouver. Alors je lance le mouvement et si d'autre on ce problème, cela ferra peut être avancer les choses.
Affaire à suivire......
Publié : mer. 15/févr./2006 11:36
par nico
Cela permettrait de vérifier que c'est bien cette boucle qui pose problème!
Même si tu es sûr, ce serait bien de faire un essai pour confirmer.
Publié : jeu. 16/févr./2006 6:30
par olivier
Bonne nouvelle, le bug est apparu dans un code d'un pote
Et comme son code fait que 100 ligne, j'ai pu facilement isoler le bug !
Mais bon je ne sais toujours pas d'où il vient réellement ! Dans le code suivant si je change quelque chose cela ne bug plus.
Alors voilà : lancez le et regardez la valeur debugger de i ???????
Il faut bien sur un petit fichier texte c:\ess.txt
Code : Tout sélectionner
Procedure fonction()
id_fichier = ReadFile(1,"c:\ess.txt")
Repeat
Chaine$=ReadString(1 )
Debug i
Until Loc(1) =Lof(1)
Debug i
CloseFile(1)
EndProcedure
ReadFile(0,"c:\ess.txt")
Repeat
Chaine$=ReadString(0 )
Until Loc(0) =Lof(0)
CloseFile(0)
fonction()
Publié : jeu. 16/févr./2006 14:40
par nico
Donc ce n'est nullement un problème de boucle!
Cela dit gros bug!
Publié : jeu. 16/févr./2006 20:50
par Fred
Ca le fait encore avec la beta 3 ?
Publié : jeu. 16/févr./2006 21:26
par nico
Oui toujours!
Publié : dim. 05/mars/2006 7:51
par olivier
Apparement Fred doit être comme cela devant ce bug :
Toujours présent dans la Beta 5
