Oui, il faut mettre le traitement de récupération de l'image dans un thread.
Pour cela il faut créer une procédure "normale" avec le code de récupération
:
Procedure chargement()
SI PAS
HTTPRequête("http://www.pcsoft.fr/img/visuels/19/puce-windev-mobile.png")
ALORS
Erreur("Erreur survenue "+RC+ErreurInfo(errMessage))
SINON
bufImage est un Buffer = HTTPDonneRésultat()
FEN_test.IMG_monimage = bufImage
fSauveBuffer(ComplèteRep(fRepExe())+"nom_image.png",bufImage)
FIN
Ensuite dans le code du bouton et/ou du traitement qui déclenche ce
téléchargement de l'image il faut lancer un thread comme ceci :
ThreadExecute("thread_chargement",threadContexteGlobal,chargement)
J'ai testé en ça fonctionne bien en iOS.
Par contre si on exécute à nouveau ce traitement avant que l'image ne soit
chargée cela peut provoquer une erreur car on reéxécute un thread qui est
toujours en cours.
2 solutions : - Ne pas autoriser de recharger une image tant que le thread
n'a pas terminé son traitement
- Donner un nom unique au thread à chaque appel