Message de rapport:
 

Parcours de fichier avec POUR TOUT : pas fiable ???

Sujet: Parcours de fichier avec POUR TOUT : pas fiable ???
par TEJI sur 18/6/2004 21:22:17

Bonjour,
Je dois imbriquer le parcours de deux fichiers, disons fic1 et fic2. Pour chaque enreg de fic1, je parcours ceux de fic2, que je dois hModifier, de même que ceux de fic1.

J'ai écrit un code du style :

POUR TOUT fic1
//code de traitement
POUR TOUT fic2
//code de traitement
hModifie(fic2)
FIN
hModifie(fic1)
FIN

Surprise, tout marche bien... jusqu'à l'enreg. n° 4260 de fic1 : là, WinDev plante avec "erreur inattendue" (même hSurErreur n'arrête pas l'erreur en question !)

Si fic1 comporte moins de 4260 enreg, tout va bien, au-delà ca plante invariablement au moment de lire l'enreg 4260, j'ai eu le pb avec plusieurs fichiers de tests différents (un de 3500 enreg : tout va bien, un de 6500 enreg : planté à 4260, un de 30000 enreg : planté à 4260)
Le fic 2 ne semble pas avoir d'incidence (10 ou 1000 ou 20000 enreg, aucune différence)

Mais si j'écris un code du style :

POUR TOUT fic1
//code de traitement
HLitPremier(fic2,clé)
TANTQUE pas hEnDehors
//code de traitement
hModifie(fic2)
hLitSuivant(fic2,clé)
FIN
hModifie(fic1)
FIN

ben là tout marche, tout le temps, quel que soit la taille du fichier fic1...

Alors, bug ou limite quelconque non documentée du "POUR TOUT" ???
Parce qu'implémenter des nouveautés c'est bien, mais comme je pars toujours du principe qu'en cas de problème dans mes projets, c'est MA programmation qui est fautive et pas WinDev (et c'est effectivement quasi systématique...), ben là j'ai passé plusieurs heures à débogguer mon projet pour constater que pour une fois ce n'est pas moi qui me plantais, puisqu'avec le parcours traditionnel au lieu du POUR TOUT mon programme fonctionne exactement comme je l'avais prévu !!!


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2