Panique à bords : Ca marche dans VB, mais pas une fois compilé ! [VB] - VB/VBA/VBS - Programmation
Marsh Posté le 05-05-2004 à 09:48:15
Je crois que j'ai trouvé
(enfin, je suis sûre de rien, depuis 2 jours, ça fait 5 fois que je réécris complètement la partie de téléchargement... )
J'ai ajouté dans le fonction "downloadFile", au tout début "tmpFile.fileContent = vbNullString"
Ca a l'air de forcer la bastiolle à redimensionner la chaîne et donc détruire ce qu'il avait en mémoire...
Seulement, avec un "Dim" sur la variable à la ligne précédent, j'aimerais comprendre pourquoi il gardait l'ancienne valeur en mémoire
Marsh Posté le 05-05-2004 à 10:09:08
lol
Bon, même avec la modification, ça pétait quand même à d'autres endroits (qui pourtant passent par la même fonction), du coup j'ai foutu des vbNullString un peu partout avant les appels à downloadFile histoire d'initialiser la variable avant son affectation, et ça à l'air de marcher...
La bidouille, y'a que ça de vrai avec VB
-- Edit :
Trop fort Je relance le programme (qui a marché le fois d'avant) et il re-déconne
Maman, je veux rentrer chez moi faire dodo
Marsh Posté le 05-05-2004 à 10:47:13
Bon, maintenant il plante (boum ) une fois sur 3 ou 4... Quand on insiste (sans rien toucher) il finit par pas plus merder... Je cherche plus à comprendre... Ca semble venir de WinSock qui se décharge/charge mal en mémoire... C'est mieu qu'à début, fallait que je reboote le PC à chaque fois que je voulais lancer le programme
Marsh Posté le 05-05-2004 à 09:43:51
Pendant que je postais mon problème, je pense avoir trouvé la source de l'erreur
MAIS ! Je ne sais pas comment le corriger
Un peu de code vaut mieu qu'un long discourt, donc trois fonctions et un type utilisateur :
Ce qu'il se passe, c'est que lors du téléchargement des documents d'une page, les fichiers téléchargés font la taille maximale parmis les derniers fichiers téléchargés au sein du document.
En gros, la valeur de "dwlLnk" dans la boucle de la fonction "getLinks" n'est pas correctement écrasée. Et là, je ne vois pas du tout comment forcer VB à la réinitialiser
Elle est du type utilisateur mis au début du code.
Le problème peut venir aussi de "saveFile" qui enregistre alors la chaîne dans le fichier destination, mais j'en doute.
Le problème, c'est que je ne suis sûr de rien : depuis l'IDE VB, ça marche très bien, je n'ai aucun problème ! Par contre, ça se met à déconner dès que je compile (même sur la même machine)
A vrai dire, je pense même que c'est plutôt la fonction "downloadFile" qui déconne, car j'ai le problème aussi à un autre endroit, du programme (par contre, ce second endroit ne pète pas sur tous les PC, sur le mien ça marche, et sur le PC d'un collègue ça déconne