Bonjour,
Dans mon programme j'ai besoin d'envoyer des données liées à l'utilisation sur un serveur, ce que je fais par requête POST sur un script PHP. Cependant il arrive que cette action soit un peu longue du coup pendant ce temps, le programme ne répond pas vraiment, il n'enregistre plus les données et de plus après il arrive que les données enregistrées soit fausses (pas d'enregistrement, enregistrement en double...). Tout cela m'embête et j'ai eu l'idée de mettre la procédure d'envoi dans un BackgroundWorker histoire que ça n'influence pas le programme principal. Deux questions : est ce que c'est la bonne méthode ET est ce que c'est normal que le programme continue à laguer un petit peu ?
Encore une question : j'aimerais modifier l'icône de notification quand j'envoie les données, de manière à que l'utilisateur sache quand les données sont envoyées, et quand c'est terminé, cependant :
- Si je demande au BackgroudWorker de modifier l'icône (et le curseur de la souris aussi), une exception est levée car je tente de faire une opération inter-threads
- Si je le fais dans le programme, l'icône est définie, mais comme le BackgroundWorker fait une tâche en parallèle, et que mon code ressemble à :
ChangerIcone(IconeEnvoi)
BackgroundWorker.RunWorkerASync
ChangerIcone(IconeNormale)
Bah l'icône est redéfinir tout de suite en normale
Alors quelle est selon vous la solution à mon problème ?
Merci d'avance
Thomas
Partager