Evitez un bug avec FileSeek() !!

Sujets variés concernant le développement en PureBasic
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Evitez un bug avec FileSeek() !!

Message par Mytic »

J’avais un code créée avec la version 4.10 de PureBasic, il marchait très bien, jusqu’au jour où je le compile avec la version 4.20 !
Là j’avais le même problème à chaque fin de procédure ( EndProcedure ) comme dans ce topic sur les Thread’s : http://www.purebasic.fr/french/viewtopic.php?t=8429
Sauf que la cause est différentes, c’est FileSeek() la cause cette fois !
Avant elle acceptait comme position les Double ! Mais maintenant sauf les Quad !
Donc à faire très attention, sinon les résultats seront erronées.

C’est écrie timidement dans la doc :
FileSeek(#Fichier, Position.q)
:?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Tu veux dire que ton ancien code ne fonctionne plus à cause d'un passage des doubles aux quads? C'est vraiment bizarre! Il devrait y avoir conversion automatiquement, au moins dans la procédure fileseek! Tu es sûr de toi?
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Oui sûrrrr, sinon je n’aurai pas créé ce topic ! :?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Faudrait mettre en valeur le bug, et l'envoyer pour test sur le forum anglais, avant de l'envoyer dans la section bugs.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

depuis la version 4.30
fileseek refuse un deplacement negatif !!

bref on ne peut plus reculer !! 8O :?
Anonyme

Message par Anonyme »

Perso , je map le fichier en mémoire avec ReadData()
puis je me balade avec des peek poke , beaucoup plus souple :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Cpl.Bator a écrit :Perso , je map le fichier en mémoire avec ReadData()
puis je me balade avec des peek poke , beaucoup plus souple :D
oui , mais pour de tres gros fichier ... :?

de plus on a Fileseek(), qui est prévue pour bouger la tete de lecture
sans pouvoir reculer, cette procedure n'a pas d'interet !!

fini le direct2disk !! ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

bon !! fileseek() marche tres bien , c'est moi qui deconne !! :lol:
Anonyme

Message par Anonyme »

oui , mais pour de tres gros fichier ... Confused
Bah , je vois pas le rapport , qui soit gros ou petit , ton fileseek() ne lit pas directement sur le disque , mais en mémoire.

ReadData permet de choisir la "longueur" à lire , tu lis par exemple 4 bytes après la position que tu souhaites , et voila ton "fileseek()" maison... :D
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Cpl.Bator a écrit :
oui , mais pour de tres gros fichier ... Confused
Bah , je vois pas le rapport , qui soit gros ou petit , ton fileseek() ne lit pas directement sur le disque , mais en mémoire.

ReadData permet de choisir la "longueur" à lire , tu lis par exemple 4 bytes après la position que tu souhaites , et voila ton "fileseek()" maison... :D
Même quand le fichier fait plusieurs Go, FileSeek lit en mémoire?
Répondre