Salut,
j'ai un thread qui tourne en boucle pour scruter un répertoire où il a des fichiers à traiter.
Le programme principal crée un fichier à traiter, puis insère une ligne dans un StringGrid juste pour information.
La boucle de mon thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2ID | nom du fichier | état 1 | fichier1.pdf | En attente
Problème : mon StringGrid n'est jamais rafraichi !!! Il reste immobile, seule le programme principal y ajoute des lignes, tout ce que fait le thread c'est du vent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 - repère la ligne du StringGrid, on l'appellera index - maForm.monGrid.cells[index, 2] = 'Traitement en cours...' - fait le traitement - maForm.monGrid.cells[index, 2] = 'OK' - sleep 1 seconde - supprime la ligne n° index
j'ai beau ajouter des maForm.monGrid.refresh
ou des Application.ProcessMessages
rien n'y fait
Alors j'ai fait un essai avec un label dont je modifie la propriété Caption dans ma boucle, et là ça marche !!!
Le code n'a rien de bien tordu, les exemples que je vois sur internet, avec une ProgressBar ne sont pas plus compliqués que ça.
Que se passe-t'il alors sur ce StringGrid pour qu'il ne veuille pas se mettre à jour ?
Comment y remédier ?
Merci d'avance
Partager