Bonjour à tous,
J'ai créé une application qui envoie des emails avec pièces jointes à une dizaine de destinataires différents (chaque destinataire a 1 ou plusieurs pièces jointes).
J'ai créé une fenêtre dans laquelle l'utilisateur sélectionne quelle pièce jointe doit être envoyée à quel destinataire (certains ont toutes les pièces jointes, certains n'en n'ont qu'une etc.)
Lorsqu'on clique sur le bouton "envoyer", les emails sont envoyées l'un après l'autre, et j'utilise JaugeEmail pour voir la progression de l'envoi (la jauge apparaît dans la barre de message en bas de la fenetre).
Ca marche très bien au développement, sous Windows Seven. Mais sous Windows XP, pour une raison qui m'échappe complètement (j'ai essayé sur deux postes différents), l'envoi du premier mail commence, la jauge arrive à 40% ou 60% (ça dépend) et là la fenêtre se fige, le pointeur de la souris devient un sablier. Plus d'affichage, j'attends, j'attends, et au final j'arrive à la fin du traitement, tous les emails ont été envoyés mais la jauge n'a pas fonctionné ...
Je vous mets un bout de mon code :
Et la procédure GestionProgression pour la jauge :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 // Dest_Temp contient la liste des destinataires // // emailTotal et emailCourant sont des variables globales utilisées pour la jauge emailTotal = HNbEnr(Dest_Temp,hEtatActif) POUR i = 1 _A_ HNbEnr(Dest_Temp,hEtatActif) emailCourant = i HLit(Dest_Temp, i) MonMessage.Expediteur = "xxxxx" MonMessage.AdresseExpéditeur = "xxxx" MonMessage.Sujet = "xxxxxxx" Ajoute(MonMessage.Destinataire, Dest_Temp.admail) EmailImporteHTML(MonMessage,messagedefaut,fRepEnCours()) // Boucle qui permet d'ajouter les pièces jointes pour chaque destinataire POUR TOUT chsite DE table_site SI {"Dest_Temp."+chsite} ALORS ResListeFichier = fListeFichier(repTemp+"\"+Gauche(chsite,2)+"*.xls") //EmailChargeFichierAttaché (MonMessage, repTEmp+) POUR TOUTE CHAINE UnFichier DE ResListeFichier SEPAREE PAR RC EmailChargeFichierAttaché (MonMessage, UnFichier) FIN FIN FIN EmailJauge(GestionProgression) SI EmailEnvoieMessage(sessionMail,MonMessage)=Faux ALORS Info("Echec de l'envoi du message à "+Dest_Temp.admail,errInfo) FIN EmailRAZ(MonMessage) FIN
Je répète que ça marche très bien sur Windows Seven, j'aimerais bien savoir si vous avez une idée de ce qui pourrait figer ma fenêtre sous XP ... c'est pas très grave puisqu'au final mes emails arrivent, mais j'aimerais bien avoir quelque chose de pro !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PROCEDURE GestionProgression(TotalOctet, TotalTransmis) Jauge(TotalTransmis, TotalOctet,"Envoi de l'email "+ emailCourant + "/"+emailTotal+" en cours")
Merci d'avance à ceux qui voudront bien mettre le nez là-dedans !
PS : je débute en Windev donc si quelque chose vous choque dans mon code, n'hésitez pas à me remettre dans le droit chemin ! Merci encore.
Partager