Téléchargement + plantage

Résolu
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 - 27 avril 2009 à 19:39
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 28 avril 2009 à 20:42
bonjour
S.V.P j'ai une fonction qui sert à télécharger un fichier à partir d'un site, le fichier à télécharger est un peut volumineux,
le téléchargement se fait sans problèmes, mais le temps de téléchargement l'application plante.
j'ai essayer plusieurs méthode pour éviter le plantage mais sans résultat, sa plante jusqu'à la fin du téléchargement.
quelqu'un peut me dire comment évité sa svp :
voila la fonction
Function DownloadPage(ByVal URL$, ByVal filename$) As Boolean
.Dim Lo1 As Long
 Dim S1 As String
 
'vérifier l'existance du fichier
 S1 = Dir(filename$, vbNormal)
 If S1 <> "" Then
Else
 'télécharger le fichier
 Lo1 = URLDownloadToFile(0, URL$, filename$, 0, 0)
 Done = Dir$(filename$) <> ""
  End If

pour l'appeler je fait : downoadpage url,chemin

merci d'avance
Les yeux montrent la force de l'âme

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 03:55
urldownloadtofile est une fonction synchrone...

elle ne rend pas la main jusqu'a ce que le téléchargement se termine.
l'appli ne répond pas pendant ce temps, donc.

te faut une autre méthode pour télécharger ; une qui te permette de laisser ton appli souffler, et surtout vider sa file des messages de Windows. Sans cela, windows a la noter comme 'ne répond pas'

le plus simple est sans doute d'utiliser un controle WinInet.

simple aussi d'utiliser les APIs de ce controle API Inet
3
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
28 avril 2009 à 18:02
j'ai aussi comme solution:
do
ici traitement à faire
doevents
loop

Les yeux montrent la force de l'âme
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 avril 2009 à 00:05
Salut
Peut-être une histoire de TimeOut ou bien une réelle perte de communication.
Ce n'est peut-être pas la bonne méthode pour de gros fichiers.
As-tu essayé quelques sources du site trouvées avec le mot URLDownloadToFile dans la recherche ?
Peut-être qqun a t-il la solution dans les lignes de ces codes.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
28 avril 2009 à 00:08
re
merci pour ta réponse, ce n'est pas une questions de taille de fichier, j'ai essayer de télécharger des petits fichiers,
sa plante aussi jusqu'à la fin de téléchargement.
merci pour ton aide jack

Les yeux montrent la force de l'âme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2009 à 20:42
oui, tout a fait, c'est bien cela
faut prendre la main sur le traitement, pour pouvoir y glisser des Doeents et que windows sache que ton appli tourne encore...
0
Rejoignez-nous