Menerlach
Messages postés57Date d'inscriptiondimanche 2 décembre 2012StatutMembreDernière intervention 1 juin 2015
-
27 nov. 2014 à 23:23
Menerlach
Messages postés57Date d'inscriptiondimanche 2 décembre 2012StatutMembreDernière intervention 1 juin 2015
-
1 déc. 2014 à 11:02
Bonjour, encore moi.
Mon programme fonctionne de façon satisfaisante mais j'ai cru qu'il était planté, plus de réaction, plus de redraw, bien que la feuille soit en autoredraw, et windows qui déclare que le programme ne répond plus...
J'ai eu du mal à trouver le problème: j'utilise URLDownloadToFile pour charger des images jpg et j'étais simplement tombé sur une image qui met un bon quart d'heure à se charger (http://fr.web.img5.acsta.net/pictures/14/09/09/16/31/419889.jpg) et quand c'est comme ça même les timer ne fonctionnent plus.
Pour éviter ce genre de problème je cherche un moyen soit d'évaluer la taille de l'image avant de la charger, pour renoncer si elle est trop grande, soit de rendre la main de temps en temps par doevents pour l'autoredraw et peut être pour une barre de progression. Il me semble avoir vu que c'est possible mais je n'ai trouvé que des exemples en C et je ne suis pas très fort pour traduire ça en VB...
Si vous savez résoudre ce problème ça m'arrangerais bien !
Merci de m'avoir lu.
Menerlach
Messages postés57Date d'inscriptiondimanche 2 décembre 2012StatutMembreDernière intervention 1 juin 2015 30 nov. 2014 à 12:56
Merci de m'avoir aiguillé sur inet dont j'ignorais l'existence...
Inet1.OpenURL remplace très bien URLDownloadToFile mais je n'ai pas encore pu testé si le problème est résolu ou non dans la mesure où l'image qui se chargeait en 1/4 d'heure ne met aujourd'hui que quelques secondes, on verra à l'avenir le comportement d'inet si je retombe sur un fichier difficile à charger...
Encore merci et désolé d'avoir demandé un site d'info alors que c'était si facile à trouver !
Menerlach
Messages postés57Date d'inscriptiondimanche 2 décembre 2012StatutMembreDernière intervention 1 juin 2015 30 nov. 2014 à 16:12
Bonjour,
Je pensais le problème résolu mais non, Inet1.OpenURL a le même problème que URLDownloadToFile: il ne rend pas la main tant qu'il na pas terminé et un fichier très long à charger donne l'impression que le programme est planté.
J'ai essayé avec Inet1.Execute , "get " qui est asynchrone comme dit microsoft mais je ne m'en sors pas:
avec l'adresse d'un fichier sur internet dans source$ et l'adresse d'un fichier sur mon disque dur dans destination$ j'ai essayé 3 possibilités:
Menerlach
Messages postés57Date d'inscriptiondimanche 2 décembre 2012StatutMembreDernière intervention 1 juin 2015 30 nov. 2014 à 23:53
La méthode AsyncRead, mon basic connait pas, il faut peut être installer un composant spécifique, en tout cas je n'ai pas vu le rapport avec inet.
Le dernier exemple fonctionne, c'est celui que j'ai déjà utilisé avec succès (Inet.OpenURL), Par contre je n'arrive pas à mettre en oeuvre les premiers exemples, ça ne m'a pas l'air d'être du vb6...