Bonjour,
j'ai créé une fonction me permettant de télécharger des fichiers. A cela, j'associe une jauge permettant de voir la progression de mon téléchargement.
Tout cela fonctionne correctement, mais je souhaiterais pouvoir arrêter le téléchargement lorsque l'utilisateur clique sur le bouton Annuler.
Voici le code que j'ai:
PROCEDURE DownloadFile(sURL="")
iIdFile is int
bDownloadFile is boolean
HTTPProgressBar("DownloadJauge")
iIdFile = fOpen(fExeDir() + "\apps\PortableCdex.zip", foCreate)
IF iIdFile <> -1 THEN
bDownloadFile = HTTPRequest("http://download.framakey.org/apps/PortableCDex-1.51-fr-r02.zip", "Winaptic")
IF bDownloadFile THEN
fWrite(iIdFile, HTTPGetResult(), Length(HTTPGetResult()))
END
fClose(iIdFile)
END
PROCEDURE DownloadJauge(iTotalOctet, iTotalTransmis)
FEN_Progress.JAUGE_Jauge1 = (iTotalTransmis / iTotalOctet) * 100
//Trace("Transfert en cours : " +iTotalTransmis+" / "+ iTotalOctet)
Multitâche(-1)
J'ai essayé en renvoyant Faux lors du clic sur le bouton annuler dans la procédure DownloadJauge (ça fonctionne avec Jauge() mais à priori pas avec httpjauge() )
J'ai également essayé de lancer la fonction DownloadFile dans un ThreadExécute et en l'arrêtant avec ThreadArrete mais: 1. l'arrêt du thread est trop lent à mon goût (plusieurs secondes) 2. je ne suis pas certain que le thread s'arrête réellement
Si vous avez des pistes pour m'orienter dans mes recherches, je suis à votre écoute.
Cordialement,
Léviathan
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4902&post_id=20292