[Résolu] Arrêter l'exécution de HTTPDonneRésultat

Posté par leviathan le 24/1/2007 0:45:55
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